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 |