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