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 |