KeQueryDpcWatchdogInformation-Funktion (wdm.h)
Die KeQueryDpcWatchdogInformation-Routine gibt die Watchdog-Timerwerte des verzögerten Prozeduraufrufs (DPC) für den aktuellen Prozessor zurück.
Syntax
NTSTATUS KeQueryDpcWatchdogInformation(
[out] PKDPC_WATCHDOG_INFORMATION WatchdogInformation
);
Parameter
[out] WatchdogInformation
Ein Zeiger auf eine vom Aufrufer bereitgestellte KDPC_WATCHDOG_INFORMATION-Struktur . Die Routine schreibt die aktuellen DPC-Watchdog-Timerwerte in diese Struktur.
Rückgabewert
KeQueryDpcWatchdogInformation gibt einen NTSTATUS-Wert zurück. Mögliche Rückgabewerte sind die folgenden status-Codes.
Rückgabecode | Beschreibung |
---|---|
|
KeQueryDpcWatchdogInformation wurde aufgerufen, während ein DPC auf dem aktuellen Prozessor ausgeführt wurde. |
|
Der aktuelle Prozessor hat keinen DPC ausgeführt, als KeQueryDpcWatchdogInformation aufgerufen wurde. |
Hinweise
Die KeQueryDpcWatchdogInformation-Routine kann aus einer DPC-Routine oder an einem IRQL=-DISPATCH_LEVEL aufgerufen werden, um die Zeit zu bestimmen, die vor einem DPC-Timeout verbleibt. Das Betriebssystem implementiert einen DPC-Watchdog-Timer, um zu erkennen, wann eine einzelne DPC-Routine zu lange ausgeführt wird oder wenn eine Reihe von DPC-Routinen in der Warteschlange zu lange zurück ausgeführt wird. Wenn DPC-Timeoutfehler aktiviert sind und entweder eine DPC-Routine das Zeitlimit für eine einzelne Routine überschreitet oder eine Reihe von DPC-Routinen das aggregierte Zeitlimit überschreitet, wird eine DPC_WATCHDOG_VIOLATION -Fehlerüberprüfung (0x133) durchgeführt.
KeQueryDpcWatchdogInformation muss aufgerufen werden, wenn ein DPC auf einem IRQL= DISPATCH_LEVEL oder höher auf dem aktuellen Prozessor ausgeführt oder aufgerufen wird. Andernfalls schlägt der Aufruf fehl und gibt STATUS_UNSUCCESSFUL zurück.
DPC-Routinen sollten nur für kurze Zeiträume ausgeführt werden und sollten so viel Verarbeitung wie möglich an Workerthreads delegieren. Um eine beeinträchtigte Reaktionsfähigkeit des Systems zu vermeiden, sollte eine typische DPC-Routine bei jedem Aufruf nicht mehr als 100 Mikrosekunden lang ausgeführt werden. Weitere Informationen finden Sie unter Richtlinien zum Schreiben von DPC-Routinen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows Vista. |
Zielplattform | Universell |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | DISPATCH_LEVEL |