IoSetDiskIoAttributionOnProcess
void __fastcall IoSetDiskIoAttributionOnProcess(__int64 a1, __int64 a2){
KIRQL v4;
void *v5;
unsigned __int64 v6;
if( *(_QWORD *)(a2 + 2392) != a1 )
{
if( a1 && _InterlockedIncrement64((volatile signed __int64 *)(a1 + 32)) <= 1 )
__fastfail(0xEu);
v4 = ExAcquireSpinLockExclusive(&IopDiskIoAttributionLock);
v5 = *(void **)(a2 + 2392);
v6 = v4;
*(_QWORD *)(a2 + 2392) = a1;
ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&IopDiskIoAttributionLock);
__writecr8(v6);
if( v5 )
IoDiskIoAttributionDereference(v5);
}
}Referenced by:
PspEstablishJobHierarchy
PspSetJobIoAttributionProcessCallback