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 de STOR_DPC_WATCHDOG_INFORMATION dans laquelle les informations de surveillance DPC seront écrites.

Valeur retournée

Cette fonction retourne l’un des codes status suivants.

Code de retour Description
STOR_STATUS_SUCCESS Les informations de surveillance du DPC ont été interrogées 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 à l’adresse IRQL=DISPATCH_LEVEL pour déterminer le délai d’attente d’un appel de procédure différée (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) se produit case activée.

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 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 obtenir des informations générales, consultez Recommandations pour l’écriture de routines DPC.

Configuration requise

Condition requise Valeur
Serveur minimal pris en charge Windows Server 2022
En-tête storport.h
IRQL DISPATCH_LEVEL

Voir aussi

STOR_DPC_WATCHDOG_INFORMATION