structure STORAGE_ADAPTER_DESCRIPTOR (ntddstor.h)
La structure STORAGE_ADAPTER_DESCRIPTOR est utilisée conjointement avec la demande de IOCTL_STORAGE_QUERY_PROPERTY pour récupérer les données de descripteur de l’adaptateur de stockage pour un appareil.
Syntaxe
typedef struct _STORAGE_ADAPTER_DESCRIPTOR {
ULONG Version;
ULONG Size;
ULONG MaximumTransferLength;
ULONG MaximumPhysicalPages;
ULONG AlignmentMask;
BOOLEAN AdapterUsesPio;
BOOLEAN AdapterScansDown;
BOOLEAN CommandQueueing;
BOOLEAN AcceleratedTransfer;
#if ...
BOOLEAN BusType;
#else
UCHAR BusType;
#endif
USHORT BusMajorVersion;
USHORT BusMinorVersion;
UCHAR SrbType;
UCHAR AddressType;
} STORAGE_ADAPTER_DESCRIPTOR, *PSTORAGE_ADAPTER_DESCRIPTOR;
Membres
Version
Contient la version de la structure STORAGE_ADAPTER_DESCRIPTOR. La valeur de ce membre change à mesure que les membres sont ajoutés à la structure.
Size
Spécifie la taille totale du descripteur, en octets.
MaximumTransferLength
Spécifie le nombre maximal d’octets que l’adaptateur de bus hôte (HBA) peut transférer dans une seule opération.
MaximumPhysicalPages
Spécifie le nombre maximal de pages physiques discontinues que l’adaptateur HBA peut gérer dans un seul transfert (en d’autres termes, l’étendue de sa prise en charge de nuages de points/collectes).
AlignmentMask
Spécifie les exigences d’alignement de l’adaptateur HBA pour les transferts. Un pilote de classe de stockage définit le champ AlignmentRequirement dans ses objets d’appareil sur cette valeur. Le masque d’alignement indique les restrictions d’alignement pour les mémoires tampons requises par l’adaptateur HBA pour les opérations de transfert. Les valeurs de masque valides sont 0 (aligné sur les octets), 1 (aligné sur le mot), 3 (aligné sur DWORD) et 7 (double DWORD aligné).
AdapterUsesPio
Indique quand TRUE que l’adaptateur HBA utilise l’authentification piO (Programd Input/Output) et nécessite l’utilisation d’adresses virtuelles d’espace système mappées à la mémoire physique pour les mémoires tampons de données. Quand faux, l’adaptateur HBA n’utilise pas d’authentification personnelle.
AdapterScansDown
Indique quand TRUE que l’adaptateur HBA analyse les appareils BIOS, autrement dit, l’adaptateur HBA commence à analyser avec le numéro d’appareil le plus élevé plutôt que le plus bas. Lorsque faux, l’adaptateur HBA commence à analyser avec le numéro d’appareil le plus bas. Ce membre est réservé aux pilotes miniport hérités.
CommandQueueing
Indique quand TRUE que l’adaptateur HBA prend en charge la mise en file d’attente interne avec étiquette SCSI et/ou par unité logique, ou l’équivalent non SCSI. Lorsque faux, l’adaptateur HBA ne prend pas en charge la mise en file d’attente interne avec étiquette SCSI ni les files d’attente internes par unité logique.
AcceleratedTransfer
Indique quand TRUE que l’adaptateur HBA prend en charge les transferts synchrones comme moyen d’accélérer les E/S. Lorsque faux, l’adaptateur HBA ne prend pas en charge les transferts synchrones comme moyen d’accélérer les E/S.
BusType
Spécifie une valeur de type STORAGE_BUS_TYPE qui indique le type de bus auquel l’appareil est connecté.
BusMajorVersion
Spécifie le numéro de version principal, le cas échéant, de l’adaptateur HBA.
BusMinorVersion
Spécifie le numéro de version secondaire, le cas échéant, de l’adaptateur HBA.
SrbType
Spécifie le type de bloc de requête SCSI (SRB) utilisé par l’adaptateur HBA. Ce membre est valide à partir de Windows 8.
Valeur | Signification |
---|---|
SRB_TYPE_SCSI_REQUEST_BLOCK | L’adaptateur HBA utilise des blocs de requête SCSI. |
SRB_TYPE_STORAGE_REQUEST_BLOCK | L’adaptateur HBA utilise des blocs de requêtes SCSI étendus. |
AddressType
Spécifie le type d’adresse de l’adaptateur HBA. Ce membre est valide à partir de Windows 8.
Valeur | Signification |
---|---|
STORAGE_ADDRESS_TYPE_BTL8 | L’adaptateur HBA utilise le bus, la cible et l’adressage LUN 8 bits. |
Remarques
Les pilotes de classe de stockage émettent une demande de contrôle d’appareil avec le code de contrôle d’E/S IOCTL_STORAGE_QUERY_PROPERTY pour récupérer cette structure, qui contient des informations de configuration de l’adaptateur HBA pour les opérations de transfert de données. La structure peut être récupérée à partir de l’objet d’appareil pour le bus ou à partir d’un objet d’appareil fonctionnel (FDO), qui transfère la requête au bus sous-jacent.
Si des erreurs de protocole excessives se produisent sur un HBA qui prend en charge les transferts synchrones (l' AcceleratedTransfer est TRUE), le pilote de classe de stockage peut désactiver les transferts synchrones en définissant SRB_FLAGS_DISABLE_SYNCH_TRANSFER dans les bases de données SRB.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | ntddstor.h (include Ntddstor.h) |