PopFxSetDripsBlockedByDeviceActivity
NTSTATUS __stdcall PopFxSetDripsBlockedByDeviceActivity(CHAR a1){
unsigned __int64 v2;
NTSTATUS result;
v2 = (unsigned __int8)KeAcquireSpinLockRaiseToDpc((UINT64 *)&stru_140C23628 + 549);
if( *(&stru_140C23628 + 4281) )
{
if( *(&stru_140C23628 + 4280) == a1 )
goto LABEL_8;
if( a1 )
*(&stru_140C23628 + 536) = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
else
PopFxUpdateGlobalDeviceAccountingInfo(*(UINT64 *)&KUSER_SHARED_DATA.InterruptTime.LowPart, 0i64);
}
if( *(&stru_140C23628 + 4280) != a1 )
{
*(&stru_140C23628 + 4280) = a1;
PopFxUpdateDeviceIRPhaseAccounting(a1);
}
LABEL_8:
KxReleaseSpinLock((UINT64 *)&stru_140C23628 + 549);
result = KiIrqlFlags;
__writecr8(v2);
return result;
}Referenced by:
PopFxPlatformStateAvailable