PspGetJobLockHierarchyForDeletion
VOID __stdcall PspGetJobLockHierarchyForDeletion(_EJOB *Job, _PSP_JOB_LOCK_HIERARCHY *JobHierarchy){
_ETHREAD *CurrentThread;
__int64 v5;
unsigned int v6;
__int64 v7;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
PspLockJobAssignment((INT64)CurrentThread);
v5 = *((_QWORD *)Job + 134);
v6 = 0;
if( v5 )
{
*((_BYTE *)JobHierarchy + 16) = 0;
v6 = 1;
*((_QWORD *)JobHierarchy + 1) = v5;
}
v7 = 2i64 * v6;
*(_QWORD *)&JobHierarchy[2 * v7 + 2] = Job;
LOBYTE(JobHierarchy[2 * v7 + 4]) = 0;
*JobHierarchy = v6 + 1;
PspUnlockJobAssignment(CurrentThread);
}Referenced by:
PspJobDelete