NtAssignProcessToJobObject
NTSTATUS __stdcall NtAssignProcessToJobObject(PVOID JobHandle, PVOID ProcessHandle){
__int64 v2;
KPROCESSOR_MODE v4;
NTSTATUS v5;
struct _DMA_ADAPTER *v6;
__int64 v7;
PVOID v8;
PVOID Object;
PADAPTER_OBJECT DmaAdapter;
v2 = 0i64;
Object = 0i64;
v4 = *((_BYTE *)KeGetCurrentThread() + 562);
DmaAdapter = 0i64;
v5 = ObReferenceObjectByHandle(JobHandle, 1u, (POBJECT_TYPE)PsJobType, v4, (PVOID *)&DmaAdapter, 0i64);
if( v5 >= 0 )
{
if( ProcessHandle == (PVOID)-7i64 )
{
v2 = *(_QWORD *)(*((_QWORD *)KeGetCurrentThread() + 23) + 1296i64);
goto LABEL_4;
}
v5 = ObReferenceObjectByHandleWithTag(
ProcessHandle,
0x101u,
(POBJECT_TYPE)PsProcessType,
v4,
0x624A7350u,
&Object,
0i64);
if( v5 >= 0 )
{
LABEL_4:
v6 = DmaAdapter;
v7 = v2;
v8 = Object;
v5 = PsAssignProcessToJobObject((ULONG_PTR)DmaAdapter, Object, v7);
goto LABEL_5;
}
}
v8 = Object;
v6 = DmaAdapter;
LABEL_5:
if( v8 )
ObfDereferenceObjectWithTag(v8, 0x624A7350ui64);
if( v6 )
HalPutDmaAdapter(v6);
return v5;
}Referenced by:
No references.