PoQueryWatchdogTime 函式 (ntifs.h)
PoQueryWatchdogTime 例程指出電源管理員是否已針對目前指派給裝置堆疊的任何電源 IRP 啟用監視程式逾時計數器。
語法
BOOLEAN PoQueryWatchdogTime(
[in] PDEVICE_OBJECT Pdo,
[out] PULONG SecondsRemaining
);
參數
[in] Pdo
實體裝置物件的指標(PDO)。 此參數指向代表實體裝置的 DEVICE_OBJECT 結構。
[out] SecondsRemaining
例程在設定下一個電源監視程式逾時之前,以秒為單位寫入時間的位置指標。
傳回值
PoQueryWatchdogTime 如果目前指派監視程式電源 IRP 給裝置堆疊,則會傳回 TRUE。 否則會傳回 FALSE。
言論
此例程可讓內核模式驅動程式監視電源管理員啟用的監視程式逾時計數器,以追蹤其發出的電源 IRP。 如果目前啟用一或多個監視程式逾時計數器,例程會傳回 TRUE,並提供下一次逾時之前所保留的時間量。
例如,關閉裝置時遇到延遲的驅動程式可以呼叫此例程,以判斷驅動程式必須響應電源 IRP 之前所保留的時間,以防止作系統的受控制關機(錯誤檢查)。
當電源管理員向裝置堆疊發出電源 IRP 時,電源管理員會設定監視程式逾時計數器。 此計數器的逾時期間通常是數分鐘。 如果堆疊中的裝置沒有回應,並導致 IRP 在逾時期間停滯不前,電源管理員會將此條件視為無法復原的錯誤,並起始作系統的受控制關機。
如果目前已啟用多個電源監視程式逾時,例程會將 *SecondsRemaining 設為下一次逾時的時間。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 7 |
目標平臺 | 普遍 |
標頭 | ntifs.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |