STORAGE_DEVICE_DESCRIPTOR structure (winioctl.h)

Utilisé conjointement avec le code de contrôle IOCTL_STORAGE_QUERY_PROPERTY pour récupérer les données de descripteur de dispositif de stockage d’un dispositif.

Syntaxe

typedef struct _STORAGE_DEVICE_DESCRIPTOR {
  DWORD            Version;
  DWORD            Size;
  BYTE             DeviceType;
  BYTE             DeviceTypeModifier;
  BOOLEAN          RemovableMedia;
  BOOLEAN          CommandQueueing;
  DWORD            VendorIdOffset;
  DWORD            ProductIdOffset;
  DWORD            ProductRevisionOffset;
  DWORD            SerialNumberOffset;
  STORAGE_BUS_TYPE BusType;
  DWORD            RawPropertiesLength;
  BYTE             RawDeviceProperties[1];
} STORAGE_DEVICE_DESCRIPTOR, *PSTORAGE_DEVICE_DESCRIPTOR;

Membres

Version

Contient la taille de cette structure, en octets. 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, qui peut inclure l’ID de fournisseur, l’ID de produit, la révision du produit, les chaînes de numéro de série de l’appareil et les données spécifiques au bus qui sont ajoutées à la structure.

DeviceType

Spécifie le type d’appareil tel que défini par la spécification SCSI (Small Computer Systems Interface).

DeviceTypeModifier

Spécifie le modificateur de type d’appareil, le cas échéant, tel que défini par la spécification SCSI. S’il n’existe aucun modificateur de type d’appareil, ce membre est égal à zéro.

RemovableMedia

Indique quand TRUE que le média de l’appareil (le cas échéant) est amovible. Si l’appareil n’a pas de média, ce membre doit être ignoré. Lorsque la valeur est FALSE , le média de l’appareil n’est pas amovible.

CommandQueueing

Indique quand TRUE que l’appareil prend en charge plusieurs commandes en attente (mise en file d’attente marquée SCSI ou équivalent). Si la valeur est FALSE, l’appareil ne prend pas en charge la mise en file d’attente marquée par SCSI ou l’équivalent.

VendorIdOffset

Spécifie le décalage d’octets entre le début de la structure et une chaîne ASCII terminée par null qui contient l’ID de fournisseur de l’appareil. Si l’appareil n’a pas d’ID de fournisseur, ce membre est égal à zéro.

ProductIdOffset

Spécifie le décalage d’octets du début de la structure vers une chaîne ASCII terminée par null qui contient l’ID de produit de l’appareil. Si l’appareil n’a pas d’ID de produit, ce membre est égal à zéro.

ProductRevisionOffset

Spécifie le décalage d’octets entre le début de la structure et une chaîne ASCII terminée par null qui contient la chaîne de révision du produit de l’appareil. Si l’appareil n’a pas de chaîne de révision de produit, ce membre est égal à zéro.

SerialNumberOffset

Spécifie le décalage d’octets du début de la structure vers une chaîne ASCII terminée par null qui contient le numéro de série de l’appareil. Si l’appareil n’a pas de numéro de série, ce membre est égal à zéro.

BusType

Spécifie une valeur d’énumérateur de type STORAGE_BUS_TYPE qui indique le type de bus auquel l’appareil est connecté. Cela doit être utilisé pour interpréter les propriétés d'appareil brutes à la fin de cette structure (le cas échéant).

RawPropertiesLength

Indique le nombre d’octets de données spécifiques au bus qui ont été ajoutées à ce descripteur.

RawDeviceProperties[1]

Contient un tableau de longueur qui sert d’espace réservé pour le premier octet des données de propriété spécifiques du bus.

Remarques

Une application peut déterminer la taille de mémoire tampon requise en émettant un code de contrôle IOCTL_STORAGE_QUERY_PROPERTY en passant une structure de STORAGE_DESCRIPTOR_HEADER pour la mémoire tampon de sortie, puis en utilisant le membre Size retourné de la structure STORAGE_DESCRIPTOR_HEADER pour allouer une mémoire tampon de la taille appropriée.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête winioctl.h (inclure Windows.h)

Voir aussi

Structures de gestion des disques

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR