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