NtDeleteObjectAuditAlarm

NTSTATUS __stdcall NtDeleteObjectAuditAlarm(_UNICODE_STRING *SubsystemName, VOID *HandleId, UINT8 GenerateOnClose){
  char PreviousMode; 
  int v7; 
  INT64 v8; 
  INT64 v9; 
  INT64 v10; 
  INT64 v11; 
  INT64 IsKernelObject; 
  INT64 v13; 
  _SECURITY_SUBJECT_CONTEXT SubjectContext; 
  _UNICODE_STRING *DestString; 

  memset(&SubjectContext, 0, sizeof(SubjectContext));
  DestString = 0i64;
  PreviousMode = KeGetCurrentThread()->PreviousMode;
  if( !GenerateOnClose )
    return 0;
  SeCaptureSubjectContext((INT64)&SubjectContext);
  if( SubjectContext.PrimaryToken )
  {
    if( SeCheckAuditPrivilege(&SubjectContext, PreviousMode) )
    {
      v7 = SepProbeAndCaptureString_U(
             SubsystemName,
             &DestString,
             v9,
             v10,
             v11,
             IsKernelObject,
             v13,
             (INT64)SubjectContext.ClientToken);
      if( v7 >= 0 )
        SepAdtDeleteObjectAuditAlarm(DestString, HandleId, &SubjectContext, 0i64, 0i64, 0);
    }
    else
    {
      v7 = -1073741727;
    }
    SeReleaseSubjectContext(&SubjectContext);
    if( DestString )
      ExFreePoolWithTag(DestString, 0);
    v8 = 3221225626i64;
    if( v7 != -1073741670 )
      return v7;
  }
  else
  {
    v7 = -1073741700;
    v8 = 3221225596i64;
  }
  SepAuditFailed(v8);
  return v7;
}

Referenced by:

No references.