Compartir a través de


Función StorPortQueryDpcWatchdogInformation (storport.h)

StorPortQueryDpcWatchdogInformation consulta los valores del temporizador del guardián de DPC para el procesador actual.

Sintaxis

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

Parámetros

[in] HwDeviceExtension

Puntero a la extensión del dispositivo del miniporte.

[out] DpcWatchdogInformation

Puntero a una estructura STOR_DPC_WATCHDOG_INFORMATION en la que se escribirá la información del guardián de DPC.

Valor devuelto

Esta función devuelve uno de los siguientes códigos de estado.

Código devuelto Descripción
STOR_STATUS_SUCCESS La información del guardián de DPC se ha consultado correctamente.
STOR_STATUS_INVALID_PARAMETER Un parámetro no es válido; por ejemplo, DpcWatchdogInformation es NULL.
STOR_STATUS_UNSUCCESSFUL Se devuelve por otros motivos internos del sistema.

Comentarios

Un miniport puede llamar a StorPortQueryDpcWatchdogInformation en IRQL=DISPATCH_LEVEL para determinar la cantidad de tiempo que permanece antes de que se produzca un tiempo de espera de llamada a procedimiento diferido (DPC). El sistema operativo implementa un temporizador de guardián DPC para detectar cuándo se ejecuta una sola rutina DPC durante demasiado tiempo o cuando una serie de rutinas DPC en cola se vuelven a ejecutar durante demasiado tiempo. Si se habilitan los errores de tiempo de espera de DPC y si una rutina DPC supera el límite de tiempo de una sola rutina o una serie de rutinas DPC supera el límite de tiempo agregado, se produce una comprobación de errores de DPC_WATCHDOG_VIOLATION (0x133).

Se debe llamar a StorPortQueryDpcWatchdogInformation mientras se ejecuta o se invoca un DPC en IRQL= DISPATCH_LEVEL o superior en el procesador actual. De lo contrario, se produce un error en la llamada y devuelve STOR_STATUS_UNSUCCESSFUL.

Las rutinas DPC solo se deben ejecutar durante breves períodos y deben delegar tanto procesamiento como sea posible para los subprocesos de trabajo. Para evitar degradar la capacidad de respuesta del sistema, se debe ejecutar una rutina típica de DPC para no más de 100 microsegundos cada vez que se llama. Para obtener información general, vea Directrices para escribir rutinas DPC.

Requisitos

Requisito Value
Servidor mínimo compatible Windows Server 2022
Encabezado storport.h
IRQL DISPATCH_LEVEL

Consulte también

STOR_DPC_WATCHDOG_INFORMATION