Função StorPortQueryDpcWatchdogInformation (storport.h)

StorPortQueryDpcWatchdogInformation consulta valores de temporizador de watchdog DPC para o processador atual.

Sintaxe

ULONG StorPortQueryDpcWatchdogInformation(
  [in]  PVOID                          HwDeviceExtension,
  [out] PSTOR_DPC_WATCHDOG_INFORMATION DpcWatchdogInformation
);

Parâmetros

[in] HwDeviceExtension

Um ponteiro para a extensão de dispositivo do miniporte.

[out] DpcWatchdogInformation

Ponteiro para uma estrutura STOR_DPC_WATCHDOG_INFORMATION na qual as informações de watchdog do DPC serão gravadas.

Retornar valor

Essa função retorna um dos seguintes códigos de status.

Código de retorno Descrição
STOR_STATUS_SUCCESS As informações do cão de guarda do DPC foram consultadas com êxito.
STOR_STATUS_INVALID_PARAMETER Um parâmetro é inválido; por exemplo, DpcWatchdogInformation é NULL.
STOR_STATUS_UNSUCCESSFUL Retornado por outros motivos internos do sistema.

Comentários

Um miniporto pode chamar StorPortQueryDpcWatchdogInformation em IRQL=DISPATCH_LEVEL para determinar a quantidade de tempo que permanece antes que ocorra um tempo limite de DPC (chamada de procedimento adiado). 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 costas para trás por muito tempo. Se os erros de tempo limite de DPC estiverem habilitados e se uma rotina de DPC exceder o limite de tempo para uma única rotina ou uma série de rotinas de DPC exceder o limite de tempo agregado, ocorrerá um bug de DPC_WATCHDOG_VIOLATION (0x133) marcar.

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

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

Requisitos

Requisito Valor
Servidor mínimo com suporte Windows Server 2022
Cabeçalho storport.h
IRQL DISPATCH_LEVEL

Confira também

STOR_DPC_WATCHDOG_INFORMATION