KeQueryTimerDueTime
UINT64 __stdcall KeQueryTimerDueTime(_KTIMER *Timer){
_ULARGE_INTEGER DueTime;
unsigned __int8 CurrentIrql;
DueTime.QuadPart = 0i64;
CurrentIrql = KeGetCurrentIrql();
__writecr8(2ui64);
KiAcquireKobjectLockSafe(Timer);
if( (Timer->gap0[3] & 0x40) != 0 )
DueTime = Timer->DueTime;
_InterlockedAnd((volatile signed __int32 *)Timer, 0xFFFFFF7F);
__writecr8(CurrentIrql);
return DueTime.QuadPart;
}Referenced by:
ExGetNextWakeTime
ExGetNextWakeTimeForDeepSleep
ExGetWakeTimerList
NtQueryTimer