SepAdtAuditObjectAccessWithContext
UINT8 __stdcall SepAdtAuditObjectAccessWithContext(
PVOID Object,
UNICODE_STRING *ObjectTypeName,
UINT8 AccessGranted,
UINT8 AccessDenied,
SECURITY_SUBJECT_CONTEXT *SubjectSecurityContext,
BOOL IsKernelObject,
UINT16 *FlatSubCategoryId){
unsigned int v11;
UINT64 v12;
UINT8 result;
UINT16 v14;
*FlatSubCategoryId = 118;
v11 = AccessGranted != 0 ? 3 : 0;
v12 = v11 | 0x30;
if( !AccessDenied )
v12 = v11;
result = SepAdtAuditThisEventByCategoryWithContext(2ui64, v12, SubjectSecurityContext);
if( result )
{
if( Object || IsKernelObject )
{
v14 = SepAdtClassifyObjectIntoSubCategory(Object, ObjectTypeName, AccessGranted, AccessDenied);
}
else if( ObjectTypeName
&& (unsigned __int8)RtlPrefixUnicodeString((PVOID)&SepSamTypeNamePrefix, (INT64 *)ObjectTypeName) )
{
v14 = 119;
}
else
{
v14 = 120;
}
*FlatSubCategoryId = v14;
return SepAdtAuditThisEventWithContext(v14, AccessGranted, AccessDenied, SubjectSecurityContext);
}
return result;
}Referenced by:
NtOpenObjectAuditAlarm
SeOpenObjectForDeleteAuditAlarmWithTransaction
SepAccessCheckAndAuditAlarmWithAdminlessChecks
SepAdtCloseObjectAuditAlarm
SepAdtDeleteObjectAuditAlarm