Compartir a través de


Función KeQueryDpcWatchdogInformation (wdm.h)

La rutina KeQueryDpcWatchdogInformation devuelve los valores del temporizador de temporizador de llamada a procedimiento diferido (DPC) para el procesador actual.

Sintaxis

NTSTATUS KeQueryDpcWatchdogInformation(
  [out] PKDPC_WATCHDOG_INFORMATION WatchdogInformation
);

Parámetros

[out] WatchdogInformation

Puntero a una estructura de KDPC_WATCHDOG_INFORMATION proporcionada por el autor de la llamada. La rutina escribe los valores actuales del temporizador del guardián de DPC en esta estructura.

Valor devuelto

KeQueryDpcWatchdogInformation devuelve un valor NTSTATUS. Los valores devueltos posibles incluyen los siguientes códigos de estado.

Código devuelto Descripción
STATUS_SUCCESS
Se llamó a KeQueryDpcWatchdogInformation mientras se ejecutaba un DPC en el procesador actual.
STATUS_UNSUCCESSFUL
El procesador actual no estaba ejecutando un DPC cuando se llamó a KeQueryDpcWatchdogInformation .

Comentarios

Se puede llamar a la rutina KeQueryDpcWatchdogInformation desde una rutina DPC o en un IRQL= DISPATCH_LEVEL para determinar la cantidad de tiempo que permanece antes de que se produzca un tiempo de espera de 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 errores de tiempo de espera de DPC y si una rutina de 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 KeQueryDpcWatchdogInformation mientras se ejecuta o se invoca un DPC en un IRQL= DISPATCH_LEVEL o superior en el procesador actual. De lo contrario, se produce un error en la llamada y se devuelve 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 de DPC típica para no más de 100 microsegundos cada vez que se llama. Para obtener más información, vea Directrices para escribir rutinas DPC.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows Vista.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL

Consulte también

KDPC_WATCHDOG_INFORMATION