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 |
---|---|
|
se llamó a keQueryDpcWatchdogInformation mientras se ejecutaba un DPC en el procesador actual. |
|
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 |