PspLockRootJobFromProcess

VOID __stdcall PspLockRootJobFromProcess(
        _EPROCESS *Process,
        _ETHREAD *CurrentThread,
        _EJOB **ImmediateJob,
        _EJOB **RootJob){
  _ETHREAD *v6; 
  _EJOB *volatile v8; 
  _EJOB *Job; 

  v8 = Process->Job;
  v6 = CurrentThread;
  for( Job = (_EJOB *)*((_QWORD *)v8 + 135); ; Job = (_EJOB *)*((_QWORD *)v8 + 135) )
  {
    PspLockJobExclusive(Job, CurrentThread);
    if( v8 == Process->Job && Job == *((_EJOB **)v8 + 135) )
      break;
    PspUnlockJob(Job, v6);
    CurrentThread = v6;
    v8 = Process->Job;
  }
  *ImmediateJob = v8;
  *RootJob = Job;
}

Referenced by:

PspRemoveProcessFromJobChain
PspSendProcessNotificationToJobChain