QueryUnbiasedInterruptTime 函式 (realtimeapiset.h)
以 100 奈秒為單位,取得目前不偏不偏的中斷時間計數。 不偏不倚的中斷時間計數不包括系統在睡眠或休眠中花費的時間。
語法
BOOL QueryUnbiasedInterruptTime(
PULONGLONG UnbiasedTime
);
參數
UnbiasedTime
待定
傳回值
如果函式成功,則傳回值為非零值。 如果函式因為以 null 參數呼叫而失敗,則傳回值為零。
言論
當系統啟動時,插斷時間計數會從零開始,並在每個時鐘中斷時遞增時鐘刻度長度。 時鐘刻度的確切長度取決於基礎硬體,而且可能會因系統而異。
QueryUnbiasedInterruptTime 函式所擷取的中斷時間計數只會反映系統處於工作狀態的時間。 因此,系統在睡眠或休眠時,中斷時間計數不會「有偏差」。 系統會針對某些作業使用偏差中斷時間,例如確保睡眠期間到期的相對定時器會在喚醒時立即到期。
不同於系統時間,中斷時間計數不受使用者或 Windows 時間服務的調整。 應用程式可以使用插斷時間計數來測量比系統時間更精細的持續時間。 需要比插斷時間計數更高的精確度的應用程式應該使用 高解析度定時器。 使用 QueryPerformanceFrequency 函式來擷取高解析度定時器和 QueryPerformanceCounter 函式來擷取計數器的值。
timeBeginPeriod 和 timeEndPeriod 函式所設定的定時器解析度會影響 queryUnbiasedInterruptTime 函式的解析度。 不過,不建議增加定時器解析度,因為它可以降低整體系統效能,並防止處理器進入省電狀態來增加系統耗電量。 相反地,應用程式應該使用高解析度定時器。
NoteQueryUnbiasedInterruptTime 函式會在 Windows 的偵錯 (“checked”) 組建上產生不同的結果,因為中斷時間計數和刻度計數會進階大約 49 天。 這有助於識別在系統長時間執行之前可能不會發生的 Bug。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 7、Windows 8 [傳統型應用程式 |UWP 應用程式] |
支援的最低伺服器 | Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式] |
目標平臺 | 窗戶 |
標頭 | realtimeapiset.h (包括 Windows.h) |
連結庫 | Mincore.lib |
DLL | Kernel32.dll |