SepAdtAuditThisEventWithContext
UINT8 __stdcall SepAdtAuditThisEventWithContext(
UINT64 CategoryOrSubcategory,
UINT8 AccessGranted,
UINT8 AccessDenied,
_SECURITY_SUBJECT_CONTEXT *SubjectSecurityContext){
__int64 v7;
UINT8 v8;
_BOOL8 v10;
UINT64 v11;
_SECURITY_SUBJECT_CONTEXT *p_SubjectContext;
VOID *ClientToken;
_SECURITY_SUBJECT_CONTEXT SubjectContext;
UINT8 GenerateAudit;
memset(&SubjectContext, 0, sizeof(SubjectContext));
if( (unsigned int)CategoryOrSubcategory <= 8 )
{
v10 = AccessGranted != 0;
v11 = (AccessGranted != 0) | 0x10u;
if( !AccessDenied )
v11 = v10;
return SepAdtAuditThisEventByCategoryWithContext(CategoryOrSubcategory, v11, SubjectSecurityContext);
}
else
{
v7 = (unsigned int)(CategoryOrSubcategory - 100);
GenerateAudit = SepAuditingEnabledForSubcategory(CategoryOrSubcategory, AccessGranted, AccessDenied);
v8 = GenerateAudit;
if( SepTokenPolicyCounter[v7] )
{
if( SubjectSecurityContext )
{
p_SubjectContext = SubjectSecurityContext;
}
else
{
p_SubjectContext = &SubjectContext;
SeCaptureSubjectContext((INT64)&SubjectContext);
}
ClientToken = p_SubjectContext->ClientToken;
if( p_SubjectContext->ClientToken || (ClientToken = p_SubjectContext->PrimaryToken) != 0i64 )
{
SepAdtIncorporatePerUserPolicy((unsigned int)v7, AccessGranted, AccessDenied, ClientToken, &GenerateAudit);
v8 = GenerateAudit;
}
else
{
SepAuditFailed(3221225596i64);
}
if( !SubjectSecurityContext )
SeReleaseSubjectContext(p_SubjectContext);
}
return v8;
}
}Referenced by:
SeAuditingAnyFileEventsWithContextEx
SeAuditingFileEventsWithContextEx
SeAuditingFileOrGlobalEvents
SeAuditingHardLinkEventsWithContext
SeObjectReferenceAuditAlarm
SeOpenObjectAuditAlarmForNonObObject
SeOpenObjectAuditAlarmWithTransaction
SeReportSecurityEventWithSubCategory
SeSecurityDescriptorChangedAuditAlarm
SeTokenDefaultDaclChangedAuditAlarm
SepAccessCheckAndAuditAlarmWithAdminlessChecks
SepAdtAuditObjectAccessWithContext
SepAdtCloseObjectAuditAlarm
SepAdtOpenObjectAuditAlarm
SepCommonAccessCheckExWithAdminlessChecks