Partager via


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)

Voir aussi

IOCTL_STORAGE_QUERY_PROPERTY

IoBuildDeviceIoControlRequest

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_BUS_TYPE

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR