Função PoQueryWatchdogTime (wdm.h)
A rotina PoQueryWatchdogTime indica se o power manager habilitou um contador de tempo limite de watchdog para qualquer IRP de energia que esteja atualmente atribuído à pilha de dispositivos.
Sintaxe
BOOLEAN PoQueryWatchdogTime(
[in] PDEVICE_OBJECT Pdo,
[out] PULONG SecondsRemaining
);
Parâmetros
[in] Pdo
Um ponteiro para um PDO (objeto de dispositivo físico). Esse parâmetro aponta para uma estrutura DEVICE_OBJECT que representa um dispositivo físico.
[out] SecondsRemaining
Um ponteiro para um local no qual a rotina grava o tempo, em segundos, que permanece antes que o próximo tempo limite do power watchdog seja definido para ocorrer.
Retornar valor
PoQueryWatchdogTime retornará TRUE se um IRP de energia habilitado para watchdog estiver atualmente atribuído à pilha de dispositivos. Caso contrário, retornará FALSE.
Comentários
Essa rotina permite que os drivers do modo kernel monitorem os contadores de tempo limite de watchdog que o power manager habilitou para controlar os IRPs de energia que ele emitiu. Se um ou mais contadores de tempo limite de watchdog estiverem habilitados no momento, a rotina retornará TRUE e fornecerá o tempo restante antes do próximo tempo limite.
Por exemplo, um driver que enfrenta atrasos ao desligar um dispositivo pode chamar essa rotina para determinar quanto tempo permanece antes que o driver precise responder a um IRP de energia para evitar um desligamento controlado (um bug marcar) do sistema operacional.
O power manager define um contador de tempo limite de watchdog quando emite um IRP de energia para a pilha de dispositivos. O período de tempo limite para esse contador normalmente é de vários minutos. Se um dispositivo na pilha não responder e fizer com que o IRP parasse durante o período de tempo limite, o power manager tratará essa condição como um erro irrecuperável e iniciará um desligamento controlado do sistema operacional.
Se mais de um tempo limite do Power Watchdog estiver habilitado no momento, a rotina definirá *SecondsRemaining como o tempo restante para o próximo tempo limite.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 7. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |