PopFxArmResidentTimer
VOID __stdcall PopFxArmResidentTimer(UINT8 ArmAlways){
unsigned __int64 v2;
v2 = ExAcquireSpinLockExclusive(&PopFxResidentTimerLock);
if( ArmAlways )
PopFxResidentTimerArmed = 0;
if( !PopFxResidentTimerArmed && PopFxResidentComponentCount > 0 )
{
PopFxResidentTimerArmed = 1;
KeSetCoalescableTimer(
(PKTIMER)&PopFxResidentTimer,
(LARGE_INTEGER)(-10000i64 * (unsigned int)PopFxActiveIdleTimeout),
0,
(unsigned int)PopFxActiveIdleTimeout >> 1,
&PopFxResidentDpc);
}
ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&PopFxResidentTimerLock);
__writecr8(v2);
}Referenced by:
PopFxIdleComponent
PopFxResidentTimeoutDpcRoutine
PopFxResidentTimeoutRoutine