Partager via


KeQueryDpcWatchdogInformation, fonction (wdm.h)

La routine KeQueryDpcWatchdogInformation retourne les valeurs du minuteur de surveillance de l’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 de retour

KeQueryDpcWatchdogInformation retourne une valeur NTSTATUS. Les valeurs de retour possibles incluent les codes d’état suivants.

Retourner le code Description
STATUS_SUCCESS
KeQueryDpcWatchdogInformation a été appelé alors qu’un DPC était en cours d’exécution sur le processeur actuel.
STATUS_UNSUCCESSFUL
Le processeur actuel n’exécutait pas de DPC lorsque KeQueryDpcWatchdogInformation était appelée.

Remarques

La routine KeQueryDpcWatchdogInformation peut être appelée à partir d’une routine DPC ou à un DISPATCH_LEVEL IRQL= pour déterminer la durée restante avant qu’un délai DPC ne se produise. Le système d’exploitation implémente un minuteur de surveillance DPC pour détecter lorsqu’une seule routine DPC s’exécute pendant trop longtemps ou lorsqu’une série de routines DPC mises en file d’attente s’exécute de nouveau-à-retour 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 d’une seule routine ou si une série de routines DPC dépasse la limite de temps agrégée, une vérification des bogues DPC_WATCHDOG_VIOLATION (0x133) se produit.

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

Les routines DPC ne doivent s’exécuter que pendant de courtes 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 doit s’exécuter pendant pas plus de 100 microsecondes chaque fois qu’elle est appelée. Pour plus d’informations, consultez Instructions pour l’écriture de routines DPC.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows Vista.
plateforme cible Universel
d’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