KeQueryDpcWatchdogInformation, fonction (wdm.h)

La routine KeQueryDpcWatchdogInformation retourne les valeurs du minuteur de surveillance d’appel de procédure différée (DPC) pour le processeur actuel.

Syntaxe

NTSTATUS KeQueryDpcWatchdogInformation(
  [out] PKDPC_WATCHDOG_INFORMATION WatchdogInformation
);

Paramètres

[out] WatchdogInformation

Pointeur vers une structure de KDPC_WATCHDOG_INFORMATION fournie par l’appelant. La routine écrit les valeurs actuelles du minuteur de surveillance DPC dans cette structure.

Valeur retournée

KeQueryDpcWatchdogInformation retourne une valeur NTSTATUS. Les valeurs de retour possibles incluent les codes status suivants.

Code de retour Description
STATUS_SUCCESS
KeQueryDpcWatchdogInformation a été appelé alors qu’un DPC s’exécutait sur le processeur actuel.
STATUS_UNSUCCESSFUL
Le processeur actuel n’exécutait pas de DPC lorsque KeQueryDpcWatchdogInformation a été appelé.

Remarques

La routine KeQueryDpcWatchdogInformation peut être appelée à partir d’une routine DPC ou à un DISPATCH_LEVEL IRQL= pour déterminer le temps restant avant l’expiration d’un délai DPC. Le système d’exploitation implémente un minuteur de surveillance DPC pour détecter quand une seule routine DPC s’exécute trop longtemps ou quand une série de routines DPC mises en file d’attente s’exécute dos à dos pendant trop longtemps. Si des erreurs de délai d’attente DPC sont activées et si une routine DPC dépasse la limite de temps pour une seule routine ou si une série de routines DPC dépasse la limite de temps agrégée, un bogue DPC_WATCHDOG_VIOLATION (0x133) case activée se produit.

KeQueryDpcWatchdogInformation doit être appelé pendant qu’un DPC est en cours d’exécution ou appelé à une valeur IRQL= DISPATCH_LEVEL ou supérieure sur le processeur actuel. Sinon, l’appel échoue et retourne STATUS_UNSUCCESSFUL.

Les routines DPC ne doivent s’exécuter que pendant de brèves périodes et doivent déléguer autant de traitement que possible aux threads de travail. Pour éviter de dégrader la réactivité du système, une routine DPC classique ne doit pas s’exécuter pendant plus de 100 microsecondes chaque fois qu’elle est appelée. Pour plus d’informations, consultez Recommandations pour l’écriture de routines DPC.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows Vista.
Plateforme cible Universal
En-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL

Voir aussi

KDPC_WATCHDOG_INFORMATION