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 d’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 des 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 en une seule opération.

MaximumPhysicalPages

Spécifie le nombre maximal de pages physiques discontinues que l’adaptateur HBA peut gérer en un seul transfert (en d’autres termes, l’étendue de sa prise en charge des points/regroupements).

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 (octet aligné), 1 (mot aligné), 3 (DWORD aligné) et 7 (double DWORD aligné).

AdapterUsesPio

Indique quand TRUE que l’adaptateur HBA utilise l’entrée/sortie programmée (PIO) 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. Lorsque la valeur est FALSE, l’adaptateur HBA n’utilise pas piO.

AdapterScansDown

Indique quand TRUE que l’adaptateur HBA analyse les périphériques BIOS, c’est-à-dire que l’adaptateur HBA commence l’analyse avec le nombre d’appareils le plus élevé plutôt que le plus bas. Lorsque la valeur EST FALSE, l’adaptateur HBA commence l’analyse 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 file d’attente marquée SCSI et/ou les files d’attente internes par unité logique, ou l’équivalent non SCSI. Quand la valeur est FALSE, l’adaptateur HBA ne prend pas en charge la file d’attente marquée par 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 un moyen d’accélérer les E/S. Avec FALSE, 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 principale, 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ête 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 8 bits, la cible et l’adressage LUN.

Remarques

Les pilotes de classe de stockage émettent une demande de contrôle de périphérique 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 d’un objet d’appareil fonctionnel (FDO), qui transfère la demande au bus sous-jacent.

Si des erreurs de protocole excessives se produisent sur un adaptateur HBA qui prend en charge les transferts synchrones (AcceleratedTransfer a la valeur TRUE), le pilote de classe de stockage peut désactiver les transferts synchrones en définissant SRB_FLAGS_DISABLE_SYNCH_TRANSFER en SBS.

Configuration requise

Condition requise Valeur
En-tête ntddstor.h (inclure 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