Demandes de stockage de mise en file d’attente
Bien qu’il soit possible pour un pilote de classe de stockage de configurer des files d’attente internes pour les irps, il est rarement nécessaire de le faire et risque également de dégrader les performances du pilote, car le pilote de port de stockage gère déjà des files d’attente de périphériques créées et spécifiques à l’unité logique pour les irps. Qu’un HBA particulier prenne ou non en charge plusieurs commandes en attente (par exemple, la mise en file d’attente marquée SCSI), les pilotes de classe de stockage peuvent envoyer chaque requête à leurs appareils à mesure que chaque IRP arrive et s’appuyer sur le pilote de port fourni par le système ou l’adaptateur HBA pour gérer rapidement les demandes en file d’attente.
Lorsque certaines erreurs SCSI se produisent, le pilote de port système fige la file d’attente appropriée spécifique à l’unité logique et avertit le pilote de classe. Pour plus d’informations sur la gestion des erreurs et la libération des files d’attente de demandes figées, consultez les rubriques suivantes :
Routine ReleaseQueue du pilote de classe de stockage
Routine InterpretRequestSense du pilote de classe de stockage
Routine retryRequest du pilote de classe de stockage
Si un HBA prend en charge la mise en file d’attente de commandes, comme indiqué dans les données STORAGE_ADAPTER_DESCRIPTOR retournées, le pilote de classe définit SRB_FLAGS_QUEUE_ENABLE et utilise le membre QueueAction des SBA qu’il crée pour contrôler la façon dont ses requêtes sont mises en file d’attente.