Compartilhar via


Função PoQueryWatchdogTime (ntifs.h)

A rotina de 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 objeto de dispositivo físico (PDO). 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 tempo limite do próximo cão de guarda de energia esteja definido para ocorrer.

Valor de retorno

PoQueryWatchdogTime retornará TRUE se um IRP de energia habilitado para watchdog estiver atribuído atualmente à pilha de dispositivos. Caso contrário, ele retornará FALSE.

Observações

Essa rotina permite que os drivers no modo kernel monitorem contadores de tempo limite de watchdog que o power manager habilitou para controlar os IRPs de energia emitidos. Se um ou mais contadores de tempo limite de watchdog estiverem habilitados no momento, a rotina retornará VERDADEIRO 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 resta antes que o driver precise responder a um IRP de energia para evitar um desligamento controlado (uma verificação de bug) 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 o IRP parar 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, os conjuntos de rotina *SecondsRemaining ao tempo que permanece para o próximo tempo limite.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 7
da Plataforma de Destino Universal
cabeçalho ntifs.h (incluem Wdm.h, Ntddk.h, Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Consulte também

DEVICE_OBJECT