Función PoQueryWatchdogTime (ntifs.h)
La rutina PoQueryWatchdogTime indica si el administrador de energía ha habilitado un contador de tiempo de espera de guardián para cualquier IRP de energía asignado actualmente a la pila de dispositivos.
Sintaxis
BOOLEAN PoQueryWatchdogTime(
[in] PDEVICE_OBJECT Pdo,
[out] PULONG SecondsRemaining
);
Parámetros
[in] Pdo
Puntero a un objeto de dispositivo físico (PDO). Este parámetro apunta a una estructura de DEVICE_OBJECT que representa un dispositivo físico.
[out] SecondsRemaining
Puntero a una ubicación en la que la rutina escribe el tiempo, en segundos, que permanece antes de que se establezca el siguiente tiempo de espera del guardián de energía.
Valor devuelto
PoQueryWatchdogTime devuelve TRUE si un IRP de alimentación habilitado para guardián está asignado actualmente a la pila de dispositivos. De lo contrario, devuelve FALSE.
Comentarios
Esta rutina permite a los controladores en modo kernel supervisar los contadores de tiempo de espera del guardián que el administrador de energía ha habilitado para realizar un seguimiento de los IRP de energía que ha emitido. Si uno o varios contadores de tiempo de espera de guardián están habilitados actualmente, la rutina devuelve TRUE y proporciona la cantidad de tiempo que permanece antes del siguiente tiempo de espera.
Por ejemplo, un controlador que experimenta retrasos al apagar un dispositivo puede llamar a esta rutina para determinar cuánto tiempo permanece antes de que el controlador deba responder a un IRP de alimentación para evitar un apagado controlado (una comprobación de errores) del sistema operativo.
El administrador de energía establece un contador de tiempo de espera de guardián cuando emite un IRP de energía a la pila del dispositivo. El período de tiempo de espera de este contador suele ser de varios minutos. Si un dispositivo de la pila no responde y hace que el IRP se detenga durante el período de tiempo de espera, el administrador de energía trata esta condición como un error irrecuperable e inicia un apagado controlado del sistema operativo.
Si actualmente se habilita más de un tiempo de espera del guardián de energía, la rutina establece *SecondsRemaining en el tiempo que permanece en el siguiente tiempo de espera.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 |
Plataforma de destino | Universal |
Encabezado | ntifs.h (incluye Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |