RtlAddAuditAccessObjectAce

INT64 __stdcall RtlAddAuditAccessObjectAce(
        ACL *Acl,
        UINT64 AceRevision,
        UINT64 AceFlags,
        UINT64 AccessMask,
        GUID *ObjectTypeGuid,
        GUID *InheritedObjectTypeGuid,
        PVOID Sid,
        UINT8 AuditSuccess,
        UINT8 AuditFailure){
  unsigned int v9; 
  UINT64 v10; 
  v9 = AceFlags | 0x40;
  if( !AuditSuccess )
    v9 = AceFlags;
  v10 = v9;
  LODWORD(v10) = v9 | 0x80;
  if( !AuditFailure )
    v10 = v9;
  if( ObjectTypeGuid || InheritedObjectTypeGuid )
    return RtlpAddKnownObjectAce(Acl, AceRevision, v10, AccessMask, ObjectTypeGuid, InheritedObjectTypeGuid, Sid, 7u);
  else
    return RtlpAddKnownAce(Acl, AceRevision, v10, AccessMask, Sid, 2u);
}

Referenced by:

LocalGetAclForString