コード例 #1
0
BOOL PLUGIN_WRITER_WRITEACE(
	_In_ PLUGIN_API_TABLE const * const api,
	_Inout_ PIMPORTED_ACE ace
) {
	DWORD i = 0;
	DWORD relCount = 0;
	LPTSTR resolvedTrustee = NULL;
	LPTSTR resolvedMail = NULL;

	resolvedTrustee = api->Resolver.ResolverGetAceTrusteeStr(ace);
	resolvedMail = api->Resolver.ResolverGetAceObjectMail(ace);
	if (!resolvedMail) {
		API_LOG(Dbg, _T("Object has mbx sd without mail address : <%s>"), ace->imported.objectDn);
		return TRUE;
	}

	for (i = 0; i < ACE_REL_COUNT; i++) {
		if (HAS_RELATION(ace, i)) {
			relCount++;
			if (IS_ALLOWED_ACE(ace->imported.raw))
				WriteRelation(api, resolvedTrustee, resolvedMail, api->Ace.GetAceRelationStr(i), gs_hOutfile);
			else
				WriteRelation(api, resolvedTrustee, resolvedMail, api->Ace.GetAceRelationStr(i), gs_hOutDenyfile);
		}
	}
	return TRUE;
}
コード例 #2
0
BOOL PLUGIN_WRITER_WRITEACE(
    _In_ PLUGIN_API_TABLE const * const api,
    _Inout_ PIMPORTED_ACE ace
    ) {
    DWORD i = 0;
    DWORD relCount = 0;
    LPTSTR resolvedTrustee = NULL;

    resolvedTrustee = api->Resolver.ResolverGetAceTrusteeStr(ace);


    for (i = 0; i < ACE_REL_COUNT; i++) {
        if (HAS_RELATION(ace, i)) {
            relCount++;
            WriteRelation(api, resolvedTrustee, ace->imported.objectDn, api->Ace.GetAceRelationStr(i));
        }
    }

    if (relCount == 0) {
        WriteRelation(api, resolvedTrustee, ace->imported.objectDn, DEFAULT_MSR_NO_RELATION_KEYWORD);
    }

    return TRUE;
}