Função KeQueryDpcWatchdogInformation (wdm.h)

A rotina KeQueryDpcWatchdogInformation retorna os valores de temporizador de watchdog DPC (chamada de procedimento adiado) para o processador atual.

Sintaxe

NTSTATUS KeQueryDpcWatchdogInformation(
  [out] PKDPC_WATCHDOG_INFORMATION WatchdogInformation
);

Parâmetros

[out] WatchdogInformation

Um ponteiro para uma estrutura de KDPC_WATCHDOG_INFORMATION fornecida pelo chamador. A rotina grava os valores atuais do temporizador de watchdog DPC nessa estrutura.

Retornar valor

KeQueryDpcWatchdogInformation retorna um valor NTSTATUS. Os possíveis valores retornados incluem os seguintes códigos de status.

Código de retorno Descrição
STATUS_SUCCESS
KeQueryDpcWatchdogInformation foi chamado enquanto um DPC estava em execução no processador atual.
STATUS_UNSUCCESSFUL
O processador atual não estava executando um DPC quando KeQueryDpcWatchdogInformation foi chamado.

Comentários

A rotina KeQueryDpcWatchdogInformation pode ser chamada de uma rotina DPC ou em um IRQL= DISPATCH_LEVEL para determinar a quantidade de tempo restante antes que ocorra um tempo limite de DPC. O sistema operacional implementa um temporizador de watchdog DPC para detectar quando uma única rotina de DPC é executada por muito tempo ou quando uma série de rotinas de DPC enfileiradas é executada de volta para trás por muito tempo. Se os erros de tempo limite de DPC estiverem habilitados e se uma rotina DPC exceder o limite de tempo para uma única rotina ou uma série de rotinas DPC exceder o limite de tempo agregado, ocorrerá um bug de DPC_WATCHDOG_VIOLATION (0x133) marcar.

KeQueryDpcWatchdogInformation deve ser chamado enquanto um DPC está em execução ou invocado em um IRQL= DISPATCH_LEVEL ou superior no processador atual. Caso contrário, a chamada falhará e retornará STATUS_UNSUCCESSFUL.

As rotinas de DPC devem ser executadas apenas por períodos breves e devem delegar o máximo de processamento possível aos threads de trabalho. Para evitar degradação da capacidade de resposta do sistema, uma rotina DPC típica deve ser executada por não mais de 100 microssegundos cada vez que for chamada. Para obter mais informações, consulte Diretrizes para escrever rotinas de DPC.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows Vista.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL

Confira também

KDPC_WATCHDOG_INFORMATION