Routines de miniport du pilote Storport
Un pilote miniport qui fonctionne avec le pilote Storport doit contenir des implémentations des descriptions de routine répertoriées dans cette section, et il doit les exposer via une structure HW_INITIALIZATION_DATA pendant la phase d’initialisation du pilote miniport.
Les routines de pilotes de miniport Storport sont à la plupart des égards équivalentes à leurs équivalents de port SCSI (pour plus d’informations, consultez Routines des pilotes miniports SCSI ). Toutefois, il existe des différences importantes entre la conception du pilote de port SCSI et celle du pilote Storport, et ces routines doivent tenir compte de ces différences.
Par instance, les pilotes miniport qui fonctionnent avec le pilote Storport doivent toujours être prêts à recevoir une autre demande d’E/S une fois la routine HwStorStartIo terminée. Un pilote miniport qui fonctionne avec le port SCSI n’est pas nécessaire pour ce faire. La version du port SCSI ne reçoit pas de nouvelle requête d’E/S tant qu’elle n’indique pas explicitement au pilote de port, à l’aide de la fonction StorPortNotification , qu’il est prêt à gérer une autre requête.
Si la version Storport du pilote miniport ne peut pas gérer une requête au moment de son envoi, elle dispose d’un ensemble de fonctions de gestion de file d’attente, non disponibles pour la version du port SCSI, qui lui permettent de gérer la surcharge. Comme la version du port SCSI, la version Storport du pilote miniport termine la requête avec SRB_STATUS_BUSY, mais contrairement à la version du port SCSI, elle peut également marquer la file d’attente d’appareils comme occupée à l’aide de la routine StorPortDeviceBusy . Des fonctions similaires permettent au pilote miniport de suspendre et de reprendre le traitement à l’échelle de l’adaptateur.
Pour plus d’informations sur les routines de support fournies par le pilote Storport, consultez Routines de prise en charge des pilotes Storport.
Pour plus d’informations sur le pilote Storport, consultez Pilotes de port de stockage.
Voici les routines de pilotes miniport :
Routine | Description |
---|---|
HW_MESSAGE_SIGNALED_INTERRUPT_ROUTINE | Gère une interruption signalée de message (MSI). |
HW_ADAPTER_CONTROL | Effectue des opérations synchrones pour contrôler l’état ou le comportement d’un adaptateur, comme l’arrêt ou le redémarrage de l’adaptateur HBA pour la gestion de l’alimentation. |
HW_BUILDIO | Traite le SRB avec un accès non synchronisé aux structures de données système partagées avant de le transmettre à HwStorStartIo. |
HW_DPC_ROUTINE | Routine dont l’exécution est différée sur DISPATCH IRQL au moyen du mécanisme d’appel de procédure différée (DPC). |
HW_FIND_ADAPTER | Utilise la configuration fournie pour déterminer si un adaptateur HBA spécifique est pris en charge et, le cas échéant, pour retourner des informations de configuration sur cette carte. |
HW_INITIALIZE | Initialise le pilote miniport après un redémarrage du système ou une panne d’alimentation. |
HW_INTERRUPT | Le pilote Storport appelle la routine HwStorInterrupt après que l’adaptateur HBA a généré une demande d’interruption. |
HW_PASSIVE_INITIALIZE_ROUTINE | Appelée après la routine HwStorInitialize lorsque l’IRQL actuel est à PASSIVE_LEVEL. |
HW_RESET_BUS | Appelé par le pilote de port pour effacer les conditions d’erreur. |
HW_STARTIO | Le pilote Storport appelle la routine HwStorStartIo une fois pour chaque demande d’E/S entrante. |
HW_TIMER | Appelé après l’intervalle spécifié lorsque le pilote miniport appelé StorPortNotification avec la valeur RequestTimerCallNotificationType . |
HW_TRACING_ENABLED | Permet à Storport d’informer un miniport que le suivi d’événements est activé. |
HW_UNIT_CONTROL | Appelé pour effectuer des opérations synchrones pour contrôler l’état du périphérique d’unité de stockage. Le pilote miniport est averti de démarrer une unité ou de gérer une transition d’état d’alimentation pour un appareil unitaire. |
HW_WORKITEM | Fonction de rappel fournie par miniport pour le traitement d’une demande d’élément de travail Storport. |
STORPORT_TELEMETRY_EVENT | Décrit la charge utile des données de télémétrie miniport. |
StorPortLogTelemetry | Consigne un événement de télémétrie miniport pour faciliter le diagnostic ou la collecte d’informations utiles. Le miniport peut enregistrer huit paires nom-valeur à usage général et une mémoire tampon d’une longueur maximale de 4 Ko, ainsi que plusieurs champs liés aux événements définis dans la structure STORPORT_TELEMETRY_EVENT. |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour