IoReferenceIoAttributionFromThread
NTSTATUS __stdcall IoReferenceIoAttributionFromThread(_ETHREAD *Thread, PVOID *OpaqueContext){
__int64 WorkOnBehalfThread;
void *v5;
__int64 v6;
NTSTATUS v7;
int v9;
v9 = 0;
WorkOnBehalfThread = PsGetWorkOnBehalfThread((__int64)Thread, &v9);
v5 = (void *)WorkOnBehalfThread;
if( WorkOnBehalfThread )
v6 = *(_QWORD *)(WorkOnBehalfThread + 544);
else
v6 = *((_QWORD *)Thread + 68);
v7 = IopReferenceIoAttributionFromProcess(v6, 0, OpaqueContext);
if( v9 )
ObDereferenceObjectDeferDelete(v5);
return v7;
}Referenced by:
CcAsyncCopyRead
CcCopyReadEx
CcScheduleReadAheadEx
MiCheckAndUpdateIoAttribution