SeCheckAuditPrivilege
UINT8 __stdcall SeCheckAuditPrivilege(_SECURITY_SUBJECT_CONTEXT *SubjectSecurityContext, CHAR PreviousMode){
void *PrimaryToken;
CHAR v5;
INT64 v6;
UINT8 v7;
PRIVILEGE_SET Privileges;
Privileges.PrivilegeCount = 1;
PrimaryToken = SubjectSecurityContext->PrimaryToken;
Privileges.Control = 1;
Privileges.Privilege[0].Luid = (_LUID)SeAuditPrivilege;
Privileges.Privilege[0].Attributes = 0;
v5 = SepPrivilegeCheck((INT64)PrimaryToken, (INT64)Privileges.Privilege, 1ui64, 1, PreviousMode);
v7 = v5;
if( PreviousMode )
{
LOBYTE(v6) = v5;
SePrivilegedServiceAuditAlarm(0i64, SubjectSecurityContext, &Privileges, v6);
}
return v7;
}Referenced by:
NtCloseObjectAuditAlarm
NtDeleteObjectAuditAlarm
NtOpenObjectAuditAlarm
NtPrivilegeObjectAuditAlarm
NtPrivilegedServiceAuditAlarm
SepAccessCheckAndAuditAlarmWithAdminlessChecks