IopSetDiskIoAttributionExtension
VOID __fastcall IopSetDiskIoAttributionExtension(_IRP *Irp, UINT64 DiskIoAttributionHandle){
__int64 v2;
char v3;
char v4;
__int64 v5;
_IOP_IRP_EXTENSION *IrpExtension;
_EPROCESS *v7;
VOID *ContextOut;
ContextOut = (VOID *)DiskIoAttributionHandle;
v4 = v3;
v5 = v2;
IrpExtension = IopAllocateIrpExtension(Irp, IopDiskIoAttributionType);
if( IrpExtension )
{
v7 = *(_EPROCESS **)(v5 + 544);
if( (v7->Flags3 & 0x1000) != 0 && v7->Job && *((_QWORD *)v7->Job + 169) && (v4 & 1) == 0 )
IopReferenceIoAttributionFromProcess(v7, 1u, &ContextOut);
IrpExtension->DiskIoAttributionHandle = (unsigned __int64)ContextOut;
}
}Referenced by:
IoAsynchronousPageWrite
IoMakeAssociatedIrpPriv
IoPropagateIrpExtensionEx
IoSetDiskIoAttributionFromThread
IoSynchronousPageWriteEx
IoUpdateIrpIoAttributionHandle
IopSetDiskIoAttributionFromProcess