KeCancelTimer2
VOID __fastcall KeCancelTimer2(_KTIMER2 *Timer, VOID *Parameters){
unsigned int v2;
unsigned int v4;
unsigned __int8 CurrentIrql;
CHAR v6;
char v7;
v2 = 0;
v4 = 2;
CurrentIrql = KeGetCurrentIrql();
__writecr8(2ui64);
if( !KiAcquireTimer2LockUnlessDisabled(Timer) )
{
KiAcquireTimer2CollectionLockIfInserted(Timer, v6);
if( v7 )
{
KiRemoveTimer2(Timer);
KxReleaseSpinLock(&KiTimer2CollectionLock);
}
else
{
if( (Timer->Header.Signalling & 0xA) == 0 )
goto LABEL_5;
v2 = 4;
}
v4 = 0;
LABEL_5:
KiUpdateTimer2Flags(Timer, v2, v4);
}
__writecr8(CurrentIrql);
}Referenced by:
EtwpCoverageFlushPending
EtwpDisableKernelTrace
ExCancelTimer
ExpPartitionDestroy
ExpSetTimerObject2
ExpShutdownWorkerFactory
PdcPoNetworkResiliency
PopCheckPowerSourceAfterRtcWakeCancel
PopDirectedDripsStartDisengageTimer
PopIdleCancelAoAcDozeS4Timer
PopNetWnfLowPowerEpochCallback
PopThermalUpdateTelemetryClientCount