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