PspQueryProcessInterferenceCountCallback

NTSTATUS __stdcall PspQueryProcessInterferenceCountCallback(
        VOID *Process,
        PSP_INTERFERENCE_INFORMATION_CONTEXT *Context){
  int v2; 
  int v5; 
  __int128 Parameters; 
  unsigned int v8; 
  UINT64 SessionId; 

  v8 = 0;
  v2 = *((_DWORD *)Process + 280);
  Parameters = 0i64;
  if( (v2 & 1) != 0 || !ObReferenceObjectSafeWithTag((INT64)Process, 1649046352i64) )
    return 0;
  v5 = 0;
  if( ExAcquireRundownProtection((_EX_RUNDOWN_REF *)Process + 139) )
  {
    LODWORD(SessionId) = *(_DWORD *)(*((_QWORD *)Context + 1) + 480i64);
    if( (unsigned int)SessionId <= 0xFFFFFFFD )
    {
      *(_QWORD *)&Parameters = Process;
      *((_QWORD *)&Parameters + 1) = &v8;
      v5 = PsInvokeWin32Callout(
             Win32JobGetInterferenceCountsCallout,
             &Parameters,
             PsWin32SessionAttachSingle,
             &SessionId);
      if( v5 >= 0 )
        **(_QWORD **)Context += v8;
    }
    ExReleaseRundownProtection((_EX_RUNDOWN_REF *)Process + 139);
  }
  ObfDereferenceObjectWithTag(Process, 0x624A7350ui64);
  return v5;
}

Referenced by:

No references.