PspGetNextChildJob
_EJOB *__stdcall PspGetNextChildJob(_EJOB *ParentJob, _EJOB *ChildJob){
_ETHREAD *CurrentThread;
_EJOB *v5;
_EJOB *v6;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
v5 = 0i64;
PspLockJobShared(ParentJob, CurrentThread);
if( ChildJob )
v6 = (_EJOB *)*((_QWORD *)ChildJob + 130);
else
v6 = (_EJOB *)*((_QWORD *)ParentJob + 132);
while( v6 != (_EJOB *)((char *)ParentJob + 1056) )
{
if( ObReferenceObjectSafeWithTag((INT64)v6 - 1040, 1850045264i64) )
{
v5 = (_EJOB *)((char *)v6 - 1040);
break;
}
v6 = *(_EJOB **)v6;
}
PspUnlockJob(ParentJob, CurrentThread);
if( ChildJob )
ObfDereferenceObjectWithTag(ChildJob, 0x6E457350ui64);
return v5;
}Referenced by:
PspEnumJobsAndProcessesInJobHierarchy