Share via


Funzione PoQueryWatchdogTime (ntifs.h)

La routine PoQueryWatchdogTime indica se il risparmio energia ha abilitato un contatore di timeout watchdog per qualsiasi IRP di alimentazione attualmente assegnato allo stack di dispositivi.

Sintassi

BOOLEAN PoQueryWatchdogTime(
  [in]  PDEVICE_OBJECT Pdo,
  [out] PULONG         SecondsRemaining
);

Parametri

[in] Pdo

Puntatore a un oggetto dispositivo fisico (PDO). Questo parametro punta a una struttura DEVICE_OBJECT che rappresenta un dispositivo fisico.

[out] SecondsRemaining

Puntatore a una posizione in cui la routine scrive il tempo, in secondi, che rimane prima che venga impostato il timeout del watchdog di alimentazione successivo.

Valore restituito

PoQueryWatchdogTime restituisce TRUE se un IRP di alimentazione abilitato per watchdog è attualmente assegnato allo stack di dispositivi. In caso contrario, restituisce FALSE.

Commenti

Questa routine consente ai driver in modalità kernel di monitorare i contatori di timeout watchdog che il risparmio energia ha abilitato per tenere traccia dei runtime di integrazione di alimentazione rilasciati. Se uno o più contatori di timeout watchdog sono attualmente abilitati, la routine restituisce TRUE e fornisce la quantità di tempo rimanente prima del timeout successivo.

Ad esempio, un driver che riscontra ritardi durante l'arresto di un dispositivo può chiamare questa routine per determinare quanto tempo rimane prima che il driver risponda a un IRP di alimentazione per impedire un arresto controllato (un controllo di bug) del sistema operativo.

Il risparmio energia imposta un contatore di timeout watchdog quando rilascia un IRP di alimentazione allo stack di dispositivi. Il periodo di timeout per questo contatore è in genere di alcuni minuti. Se un dispositivo nello stack non risponde e fa sì che l'IRP si blocchi per il periodo di timeout, il risparmio energia considera questa condizione come un errore irreversibile e avvia un arresto controllato del sistema operativo.

Se è attualmente abilitato più timeout di Power Watchdog, la routine imposta *SecondsRemaining sul tempo che rimane al timeout successivo.

Requisiti

Requisito Valore
Client minimo supportato Windows 7
Piattaforma di destinazione Universale
Intestazione ntifs.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Vedi anche

DEVICE_OBJECT