StorPortQueryDpcWatchdogInformation-Funktion (storport.h)
StorPortQueryDpcWatchdogInformation fragt DPC-Watchdog-Timerwerte für den aktuellen Prozessor ab.
Syntax
ULONG StorPortQueryDpcWatchdogInformation(
[in] PVOID HwDeviceExtension,
[out] PSTOR_DPC_WATCHDOG_INFORMATION DpcWatchdogInformation
);
Parameter
[in] HwDeviceExtension
Ein Zeiger auf die Geräteerweiterung des Miniports.
[out] DpcWatchdogInformation
Zeiger auf eine STOR_DPC_WATCHDOG_INFORMATION Struktur, in die die DPC-Watchdog-Informationen geschrieben werden.
Rückgabewert
Diese Funktion gibt einen der folgenden status Codes zurück.
Rückgabecode | Beschreibung |
---|---|
STOR_STATUS_SUCCESS | Die DPC-Watchdog-Informationen wurden erfolgreich abgefragt. |
STOR_STATUS_INVALID_PARAMETER | Ein Parameter ist ungültig. DpcWatchdogInformation ist z. B. NULL. |
STOR_STATUS_UNSUCCESSFUL | Wird aus anderen internen Systemgründen zurückgegeben. |
Hinweise
Ein Miniport kann StorPortQueryDpcWatchdogInformation unter IRQL=DISPATCH_LEVEL aufrufen, um die Zeitspanne zu bestimmen, die bis zum Timeout eines verzögerten Prozeduraufrufs (DPC) 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 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.
StorPortQueryDpcWatchdogInformation muss aufgerufen werden, während ein DPC unter IRQL= DISPATCH_LEVEL oder höher auf dem aktuellen Prozessor ausgeführt oder aufgerufen wird. Andernfalls schlägt der Aufruf fehl und gibt STOR_STATUS_UNSUCCESSFUL zurück.
DPC-Routinen sollten nur für kurze Zeiträume ausgeführt werden und sollten so viele Verarbeitungsvorgänge wie möglich an Workerthreads delegieren. Um eine beeinträchtigte Systemreaktion zu vermeiden, sollte eine typische DPC-Routine bei jedem Aufruf maximal 100 Mikrosekunden lang ausgeführt werden. Allgemeine Informationen finden Sie unter Richtlinien zum Schreiben von DPC-Routinen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Server) | Windows Server 2022 |
Kopfzeile | storport.h |
IRQL | DISPATCH_LEVEL |