PspQueryJobHierarchyProcessIdList

INT64 __fastcall PspQueryJobHierarchyProcessIdList(_EJOB *Job, _DWORD *a2, INT64 a3, _DWORD *a4){
  int v5; 
  _ETHREAD *CurrentThread; 
  unsigned int v9; 
  __int64 v11; 
  int v12; 
  int v13; 
  unsigned int ActiveProcesses; 
  int v15; 
  v5 = a3;
  v15 = 0;
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  PspLockJobShared((__int64)Job, (__int64)CurrentThread);
  v11 = (__int64)(a2 + 2);
  v12 = v5 - 8;
  v13 = 0;
  ActiveProcesses = Job->ActiveProcesses;
  v9 = PspEnumJobsAndProcessesInJobHierarchy(
         Job,
         0i64,
         0i64,
         (__int64(__fastcall *)(_QWORD *, __int64))PspQueryProcessIdListCallback,
         (__int64)&v11,
         1);
  if( (int)(v9 + 0x80000000) < 0 || v9 == -2147483643 )
  {
    *a4 = 8 * Job->ActiveProcesses + 8;
    *a2 = Job->ActiveProcesses;
    a2[1] = v13;
  }
  PspUnlockJob((__int64)Job, (__int64)CurrentThread);
  return v9;
}

Referenced by:

NtQueryInformationJobObject