KeCancelTimer2
INT8 __fastcall KeCancelTimer2(INT64 a1){
unsigned int v1;
INT8 v3;
unsigned int v4;
unsigned __int8 CurrentIrql;
v1 = 0;
v3 = 0;
v4 = 2;
CurrentIrql = KeGetCurrentIrql();
__writecr8(2ui64);
if( !KiAcquireTimer2LockUnlessDisabled((_KTIMER2 *)a1) )
{
if( KiAcquireTimer2CollectionLockIfInserted((_KTIMER2 *)a1) )
{
KiRemoveTimer2((_KTIMER2 *)a1);
KxReleaseSpinLock(&KiTimer2CollectionLock);
}
else
{
if( (*(_BYTE *)(a1 + 1) & 0xA) == 0 )
goto LABEL_5;
v1 = 4;
}
v4 = 0;
v3 = 1;
LABEL_5:
KiUpdateTimer2Flags((_KTIMER2 *)a1, v1, v4);
}
__writecr8(CurrentIrql);
return v3;
}Referenced by:
EtwpCoverageFlushPending
EtwpDisableKernelTrace
ExCancelTimer
ExpPartitionDestroy
ExpSetTimerObject2
ExpShutdownWorkerFactory
PdcPoNetworkResiliency
PopCheckPowerSourceAfterRtcWakeCancel
PopDirectedDripsStartDisengageTimer
PopIdleCancelAoAcDozeS4Timer
PopNetWnfLowPowerEpochCallback
PopThermalUpdateTelemetryClientCount