KeQueryDpcWatchdogInformation-Funktion (wdm.h)
Die KeQueryDpcWatchdogInformation Routine gibt den DPC-Watchdog-Zeitgeberwert 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-Zeitgeberwerte in diese Struktur.
Rückgabewert
KeQueryDpcWatchdogInformation gibt einen NTSTATUS-Wert zurück. Mögliche Rückgabewerte sind die folgenden Statuscodes.
Rückgabecode | Beschreibung |
---|---|
|
KeQueryDpcWatchdogInformation aufgerufen wurde, während ein DPC auf dem aktuellen Prozessor ausgeführt wurde. |
|
Der aktuelle Prozessor hat keinen DPC ausgeführt, als KeQueryDpcWatchdogInformation aufgerufen wurde. |
Bemerkungen
Die KeQueryDpcWatchdogInformation Routine kann aus einer DPC-Routine oder bei einer IRQL= DISPATCH_LEVEL aufgerufen werden, um den Zeitraum zu bestimmen, der vor einem DPC-Timeout verbleibt. Das Betriebssystem implementiert einen DPC Watchdog-Timer, um zu erkennen, wann eine einzelne DPC-Routine zu lang ausgeführt wird oder wenn eine Reihe von DPC-Routinen in der Warteschlange zu lange 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, tritt eine DPC_WATCHDOG_VIOLATION (0x133) Fehlerüberprüfung auf.
KeQueryDpcWatchdogInformation aufgerufen werden muss, während ein DPC an 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 Arbeitsthreads delegieren. Um die Reaktionsfähigkeit des Systems zu vermeiden, sollte eine typische DPC-Routine bei jedem Aufruf nicht mehr als 100 Mikrosekunden ausgeführt werden. Weitere Informationen finden Sie unter Richtlinien zum Schreiben von DPC-Routinen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar ab Windows Vista. |
Zielplattform- | Universal |
Header- | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | DISPATCH_LEVEL |