Compartir a través de


Función KeQueryDpcWatchdogInformation (wdm.h)

La rutina KeQueryDpcWatchdogInformation devuelve los valores del temporizador de temporizador de llamada de 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 del temporizador del guardián de DPC actuales en esta estructura.

Valor devuelto

KeQueryDpcWatchdogInformation devuelve un valor NTSTATUS. Entre los posibles valores devueltos se 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.

Observaciones

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 los errores de tiempo de espera de DPC están habilitados 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 keQueryDpcWatchdogInformation mientras se ejecuta o 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 de DPC solo deben ejecutarse durante períodos breves y deben delegar tanto procesamiento como sea posible a 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 más información, vea Guidelines for Writing DPC Routines.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows Vista.
de la plataforma de destino de Universal
encabezado de wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL DISPATCH_LEVEL

Consulte también

KDPC_WATCHDOG_INFORMATION