PopFxSetDripsBlockedByDeviceActivity
INT64 __fastcall PopFxSetDripsBlockedByDeviceActivity(CHAR a1){
UINT64 v1;
unsigned __int8 v3;
unsigned __int64 v4;
INT64 result;
KeAcquireSpinLockRaiseToDpc(&PopFxGlobalDeviceAccountingLock, v1);
v4 = v3;
if( (_BYTE)byte_140C246E1 )
{
if( PopFxGlobalDeviceAccountingInfo[0] == a1 )
goto LABEL_8;
if( a1 )
qword_140C246E8 = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
else
PopFxUpdateGlobalDeviceAccountingInfo(*(UINT64 *)&KUSER_SHARED_DATA.InterruptTime.LowPart, 0i64);
}
if( PopFxGlobalDeviceAccountingInfo[0] != a1 )
{
PopFxGlobalDeviceAccountingInfo[0] = a1;
PopFxUpdateDeviceIRPhaseAccounting(a1);
}
LABEL_8:
KxReleaseSpinLock(&PopFxGlobalDeviceAccountingLock);
result = (unsigned int)KiIrqlFlags;
__writecr8(v4);
return result;
}Referenced by:
PopFxPlatformStateAvailable