PoQueryWatchdogTime-Funktion (ntifs.h)
Die PoQueryWatchdogTime-Routine gibt an, ob der Power Manager einen Watchdog-Timeoutzähler für alle Energie-IRP aktiviert hat, die derzeit dem Gerätestapel zugewiesen sind.
Syntax
BOOLEAN PoQueryWatchdogTime(
[in] PDEVICE_OBJECT Pdo,
[out] PULONG SecondsRemaining
);
Parameter
[in] Pdo
Ein Zeiger auf ein physisches Geräteobjekt (PDO). Dieser Parameter verweist auf eine DEVICE_OBJECT Struktur, die ein physisches Gerät darstellt.
[out] SecondsRemaining
Ein Zeiger auf eine Position, an der die Routine die Zeit in Sekunden schreibt, die verbleibt, bevor das nächste Power Watchdog-Timeout festgelegt ist.
Rückgabewert
PoQueryWatchdogTime gibt TRUE zurück, wenn dem Gerätestapel derzeit ein Watchdog-aktivierter Energie-IRP zugewiesen ist. Andernfalls wird FALSE zurückgegeben.
Hinweise
Diese Routine ermöglicht Kernelmodustreibern die Überwachung von Watchdog-Timeoutzählern, die der Power Manager aktiviert hat, um die ausgegebenen Power IRPs nachzuverfolgen. Wenn ein oder mehrere Watchdog-Timeoutindikatoren derzeit aktiviert sind, gibt die Routine TRUE zurück und gibt die Zeit an, die vor dem nächsten Timeout verbleibt.
Beispielsweise kann ein Treiber, der beim Herunterfahren eines Geräts zu Verzögerungen kommt, diese Routine aufrufen, um zu bestimmen, wie lange der Treiber noch auf eine Energie-IRP reagieren muss, um ein kontrolliertes Herunterfahren (eine Fehlerüberprüfung) des Betriebssystems zu verhindern.
Der Power Manager legt einen Watchdog-Timeoutzähler fest, wenn er eine Energie-IRP für den Gerätestapel ausgibt. Der Timeoutzeitraum für diesen Indikator beträgt in der Regel mehrere Minuten. Wenn ein Gerät im Stapel nicht reagiert und dazu führt, dass die IRP für den Timeoutzeitraum angehalten wird, behandelt der Energiemanager diese Bedingung als nicht behebbaren Fehler und initiiert ein kontrolliertes Herunterfahren des Betriebssystems.
Wenn derzeit mehrere Power Watchdog-Timeouts aktiviert sind, legt die Routine *SecondsRemaining auf die Zeit fest, die beim nächsten Timeout verbleibt.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7 |
Zielplattform | Universell |
Header | ntifs.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |