共用方式為


KeQueryInterruptTimePrecise 函式 (wdm.h)

KeQueryInterruptTimePrecise 例程會傳回系統目前的值,中斷時間 計數,精確度為毫秒內。

語法

ULONG64 KeQueryInterruptTimePrecise(
  [out] PULONG64 QpcTimeStamp
);

參數

[out] QpcTimeStamp

ULONG64變數的指標,例程會將用來插補傳回值的性能計數器值寫入其中。

傳回值

目前插斷時間計數以 100 奈秒為單位。

言論

KeQueryInterruptTimePrecise 會傳回系統的目前中斷時間,這是上次啟動作系統之後的時間量。 KeQueryInterruptTimePrecise 類似於 KeQueryInterruptTime 例程,但更精確。

KeQueryInterruptTime 所報告的中斷時間是以系統時鐘定時器的最新刻度為基礎。 時鐘定時器是定期產生系統時鐘中斷的硬體定時器。 時鐘定時器中斷之間的統一期間稱為系統時鐘刻度,而且通常取決於硬體平臺,介於 500 毫秒到 15.625 毫秒的範圍內。 KeQueryInterruptTime 所擷取的中斷時間值 在系統時鐘刻度內是正確的。

若要提供比 KeQueryInterruptTime更精確的中斷時間值,KeQueryInterruptTimePrecise 會使用系統性能計數器來測量自上次時鐘定時器中斷后經過的時間,並將這次新增至與最新時鐘時間相關聯的中斷時間。 KeQueryInterruptTimePrecise 所報告的中斷時間精確到微秒內。

在某些硬體平臺上,KeQueryInterruptTimePrecise 呼叫速度可能會比 KeQueryInterruptTime 呼叫慢。 原因是 KeQueryInterruptTimePrecise 讀取性能計數器,這會造成額外的延遲。 如需詳細資訊,請參閱 KeQueryPerformanceCounter

呼叫 KeQueryTimeIncrement 例程,以判斷系統時鐘刻度的大小。

精確的中斷時間可用來測量系統執行時非常精細的持續時間,因為設定或重設系統時間的作業不會影響系統中斷時間計數。

不過,電源管理狀態變更會影響系統中斷時間計數。 中斷時間計數的維護會在系統睡眠狀態期間暫停。 當後續的喚醒狀態轉換發生時,系統會將「偏差」值新增至中斷時間計數,以補償這類睡眠狀態的估計持續時間。 KeQueryInterruptTimePrecise 傳回的中斷時間計數 包含此偏差值。 若要取得不偏的中斷時間計數,請使用 KeQueryUnbiasedInterruptTime。 目前無法使用不偏不偏中斷時間計數的精確版本。

要求

要求 價值
最低支援的用戶端 從 Windows 8.1 開始提供。
目標平臺 普遍
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任何層級

另請參閱

取得高解析度時間戳

KeQueryInterruptTime

KeQueryTimeIncrement

KeQueryUnbiasedInterruptTime