KeQuerySystemTimePrecise 函式 (wdm.h)
KeQuerySystemTimePrecise 例程會擷取目前的系統時間,而且比 KeQuerySystemTime 例程更精確。
語法
void KeQuerySystemTimePrecise(
[out] PLARGE_INTEGER CurrentTime
);
參數
[out] CurrentTime
LARGE_INTEGER變數的指標,例程會將目前的系統時間寫入其中。
傳回值
無
備註
系統時間是自 1601 年 1 月 1 日起的 100 奈秒間隔計數。 這個值是針對 GMT 時區計算的。 若要調整當地時區的此值,請呼叫 ExSystemTimeToLocalTime 例程。
KeQuerySystemTimePrecise 類似於 KeQuerySystemTime 例程,但更精確。 KeQuerySystemTime 所報告的系統時間是以系統時鐘定時器的最新刻度為基礎。 時鐘定時器是定期產生系統時鐘中斷的硬體定時器。 時鐘定時器中斷之間的統一期間稱為系統時鐘刻度,而且通常取決於硬體平臺,介於 500 毫秒到 15.625 毫秒之間。 KeQuerySystemTime 所擷取的系統時間值在系統時鐘刻度內是正確的。
為了提供比 KeQuerySystemTime 更精確的系統時間值, KeQuerySystemTimePrecise 會使用系統性能計數器來測量自上次時鐘定時器中斷以來經過的時間,並將這個時間新增至從時鐘定時器計數計算的系統時鐘時間。 KeQuerySystemTimePrecise 所報告的系統時間精確到微秒內。
在某些硬體平臺上, KeQuerySystemTimePrecise 呼叫可能會比 KeQuerySystemTime 呼叫慢。 原因是 KeQuerySystemTimePrecise 會讀取性能計數器,這可能會造成額外的延遲。 如需詳細資訊,請參閱 KeQueryPerformanceCounter。
呼叫 KeQueryTimeIncrement 例程來判斷系統時鐘刻度的持續時間。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 8 開始提供。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | 任何層級 |