Freigeben über


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
STATUS_SUCCESS
KeQueryDpcWatchdogInformation wurde aufgerufen, 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.

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

Weitere Informationen

KDPC_WATCHDOG_INFORMATION