NtAssignProcessToJobObject
NTSTATUS __stdcall NtAssignProcessToJobObject(VOID *JobHandle, VOID *ProcessHandle){
char PreviousMode;
int v4;
_EJOB *v5;
VOID *v6;
UINT64 Tag;
PVOID Object;
_EJOB *Job;
Object = 0i64;
PreviousMode = KeGetCurrentThread()->PreviousMode;
Job = 0i64;
v4 = ObReferenceObjectByHandle(JobHandle, 1ui64, (_OBJECT_TYPE *)PsJobType, PreviousMode, (VOID **)&Job, 0i64);
if( v4 >= 0
&& (ProcessHandle == (VOID *)-7i64
|| (LODWORD(Tag) = 1649046352,
v4 = ObReferenceObjectByHandleWithTag(
ProcessHandle,
0x101ui64,
(_OBJECT_TYPE *)PsProcessType,
PreviousMode,
Tag,
&Object,
0i64),
v4 >= 0)) )
{
v5 = Job;
v6 = Object;
v4 = PsAssignProcessToJobObject(Job, (_EPROCESS *)Object);
}
else
{
v6 = Object;
v5 = Job;
}
if( v6 )
ObfDereferenceObjectWithTag(v6, 0x624A7350ui64);
if( v5 )
HalPutDmaAdapter((PADAPTER_OBJECT)v5);
return v4;
}Referenced by:
No references.