KeQueryDpcWatchdogInformation 函式 (wdm.h)
KeQueryDpcWatchdogInformation 例程會傳回目前處理器的延遲過程調用 (DPC) 監視程式定時器值。
語法
NTSTATUS KeQueryDpcWatchdogInformation(
[out] PKDPC_WATCHDOG_INFORMATION WatchdogInformation
);
參數
[out] WatchdogInformation
呼叫端提供的 KDPC_WATCHDOG_INFORMATION 結構的指標。 例程會將目前的 DPC 監視程式定時器值寫入這個結構。
傳回值
KeQueryDpcWatchdogInformation 會傳回 NTSTATUS 值。 可能的傳回值包括下列狀態代碼。
傳回碼 | Description |
---|---|
|
在目前處理器上執行 DPC 時,會呼叫 KeQueryDpcWatchdogInformation。 |
|
呼叫 KeQueryDpcWatchdogInformation 時,目前的處理器未執行 DPC。 |
備註
KeQueryDpcWatchdogInformation 例程可以從 DPC 例程或 IRQL= DISPATCH_LEVEL呼叫,以判斷 DPC 逾時之前所保留的時間量。 操作系統會實作 DPC 監視程式定時器,以偵測單一 DPC 例程執行太長的時間,或當一系列佇列的 DPC 例程執行回太久時。 如果已啟用 DPC 逾時錯誤,而且如果 DPC 例程超過單一例程的時間限制,或一系列 DPC 例程超過匯總時間限制,就會發生 DPC_WATCHDOG_VIOLATION (0x133) 錯誤檢查。
當 DPC 在目前處理器上執行或叫用 IRQL= DISPATCH_LEVEL或更新版本時,必須呼叫 KeQueryDpcWatchdogInformation。 否則,呼叫會失敗,並傳回STATUS_UNSUCCESSFUL。
DPC 例程應該只執行短暫的期間,而且應該儘可能將處理委派給背景工作線程。 為了避免降低系統回應性,每次呼叫 DPC 例程時,一般 DPC 例程應該執行不超過 100 毫秒。 如需詳細資訊,請參閱 撰寫 DPC 例程的指導方針。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows Vista 開始提供。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | DISPATCH_LEVEL |