PspTerminateAllProcessesInJobHierarchy
UINT8 __stdcall PspTerminateAllProcessesInJobHierarchy(_EJOB *RootJob, INT64 ExitStatus, UINT8 LimitViolation){
UINT8 v3;
char v5;
__int64 v7;
v3 = 0;
v7 = 0i64;
_InterlockedOr((volatile signed __int32 *)&RootJob->1320, 0x80u);
v5 = 0;
LODWORD(v7) = ExitStatus;
if( LimitViolation )
v5 = 1;
BYTE4(v7) = v5;
PspEnumJobsAndProcessesInJobHierarchy(
RootJob,
0i64,
(unsigned int(__fastcall *)(__int64, __int64))PspTerminateProcessesJobCallback,
0i64,
(__int64)&v7,
2);
if( (v7 & 0x200000000i64) != 0 )
return 1;
PspEvaluateAndNotifyEmptyJob(RootJob, 0, 0);
return v3;
}Referenced by:
NtTerminateJobObject
PsTerminateServerSilo
PspEnforceLimitsJobPostCallback
PspJobClose