PspQueryJobHierarchyProcessIdList
__int64 __fastcall PspQueryJobHierarchyProcessIdList(_EJOB *Job, __int64 a2, int a3, _DWORD *a4){
_ETHREAD *CurrentThread;
unsigned int v9;
_EJOB *v11;
VOID *v12;
INT64 *v13;
INT64 JobPostCallback;
VOID *v15;
UINT64 v16;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
PspLockJobShared(Job, CurrentThread);
JobPostCallback = a2 + 8;
LODWORD(v11) = 1;
v9 = PspEnumJobsAndProcessesInJobHierarchy(
Job,
0i64,
0i64,
PspQueryProcessIdListCallback,
&JobPostCallback,
v11,
v12,
v13,
(_EPROCESS *)(a2 + 8),
(VOID *)(unsigned int)(a3 - 8),
(VOID *)*((unsigned int *)Job + 54),
v16);
if( (int)(v9 + 0x80000000) < 0 || v9 == -2147483643 )
{
*a4 = 8 * *((_DWORD *)Job + 54) + 8;
*(_DWORD *)a2 = *((_DWORD *)Job + 54);
*(_DWORD *)(a2 + 4) = HIDWORD(v15);
}
PspUnlockJob(Job, CurrentThread);
return v9;
}Referenced by:
NtQueryInformationJobObject