Partager via


StorPortQueryDpcWatchdogInformation, fonction (storport.h)

StorPortQueryDpcWatchdogInformation interroge les valeurs du minuteur de surveillance DPC pour le processeur actuel.

Syntaxe

ULONG StorPortQueryDpcWatchdogInformation(
  [in]  PVOID                          HwDeviceExtension,
  [out] PSTOR_DPC_WATCHDOG_INFORMATION DpcWatchdogInformation
);

Paramètres

[in] HwDeviceExtension

Pointeur vers l’extension d’appareil du miniport.

[out] DpcWatchdogInformation

Pointeur vers une structure STOR_DPC_WATCHDOG_INFORMATION dans laquelle les informations de surveillance DPC seront écrites.

Valeur de retour

Cette fonction retourne l’un des codes d’état suivants.

Retourner le code Description
STOR_STATUS_SUCCESS L’information de l’agent de surveillance DPC a été interrogée avec succès.
STOR_STATUS_INVALID_PARAMETER Un paramètre n’est pas valide ; par exemple, DpcWatchdogInformation a la valeur NULL.
STOR_STATUS_UNSUCCESSFUL Retourné pour d’autres raisons système internes.

Remarques

Un miniport peut appeler StorPortQueryDpcWatchdogInformation à IRQL=DISPATCH_LEVEL pour déterminer la durée restante avant qu’un délai d’appel de procédure différée (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 pour une seule routine, ou si une série de routines DPC dépasse la limite de temps agrégée, une DPC_WATCHDOG_VIOLATION (0x133) vérification des bogues se produit.

StorPortQueryDpcWatchdogInformation doit être appelé pendant qu’un DPC est en cours d’exécution ou appelé à IRQL= DISPATCH_LEVEL ou supérieur sur le processeur actuel. Sinon, l’appel échoue et retourne STOR_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 obtenir des informations générales, consultez Instructions pour l’écriture de routines DPC.

Exigences

Exigence Valeur
serveur minimum pris en charge Windows Server 2022
d’en-tête storport.h
IRQL DISPATCH_LEVEL

Voir aussi

STOR_DPC_WATCHDOG_INFORMATION