Freigeben über


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
STATUS_SUCCESS
KeQueryDpcWatchdogInformation aufgerufen wurde, während ein DPC auf dem aktuellen Prozessor ausgeführt wurde.
STATUS_UNSUCCESSFUL
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

Siehe auch

KDPC_WATCHDOG_INFORMATION