Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |