USB_DEVICE_DESCRIPTOR structure (usbspec.h)

La structure USB_DEVICE_DESCRIPTOR est utilisée par les pilotes clients USB pour récupérer un descripteur de périphérique défini par USB. Les membres de cette structure sont décrits dans la spécification Universal Serial Bus 3.1 disponible dans la bibliothèque de documents USB. Voir la section 9.6.1.

Syntaxe

typedef struct _USB_DEVICE_DESCRIPTOR {
  UCHAR  bLength;
  UCHAR  bDescriptorType;
  USHORT bcdUSB;
  UCHAR  bDeviceClass;
  UCHAR  bDeviceSubClass;
  UCHAR  bDeviceProtocol;
  UCHAR  bMaxPacketSize0;
  USHORT idVendor;
  USHORT idProduct;
  USHORT bcdDevice;
  UCHAR  iManufacturer;
  UCHAR  iProduct;
  UCHAR  iSerialNumber;
  UCHAR  bNumConfigurations;
} USB_DEVICE_DESCRIPTOR, *PUSB_DEVICE_DESCRIPTOR;

Membres

bLength

Spécifie la longueur, en octets, de ce descripteur.

bDescriptorType

Spécifie le type de descripteur. Doit être défini sur USB_DEVICE_DESCRIPTOR_TYPE.

bcdUSB

Identifie la version de la spécification USB à laquelle cette structure de descripteur est conforme. Cette valeur est un nombre décimal codé par binaire.

bDeviceClass

Spécifie le code de classe de l’appareil tel qu’il est attribué par le groupe de spécifications USB.

bDeviceSubClass

Spécifie le code de sous-classe de l’appareil, tel qu’attribué par le groupe de spécifications USB.

bDeviceProtocol

Spécifie le code de protocole de l’appareil tel qu’il est attribué par le groupe de spécifications USB.

bMaxPacketSize0

Spécifie la taille maximale du paquet, en octets, pour le point de terminaison zéro de l’appareil. La valeur doit être définie sur 8, 16, 32 ou 64.

idVendor

Spécifie l’identificateur du fournisseur de l’appareil, tel qu’il est attribué par le comité de spécification USB.

idProduct

Spécifie l’identificateur du produit. Cette valeur est affectée par le fabricant et est spécifique à l’appareil.

bcdDevice

Identifie la version de l’appareil. Cette valeur est un nombre décimal codé par binaire.

iManufacturer

Spécifie un index défini par l’appareil du descripteur de chaîne qui fournit une chaîne contenant le nom du fabricant de cet appareil.

iProduct

Spécifie un index défini par l’appareil du descripteur de chaîne qui fournit une chaîne qui contient une description de l’appareil.

iSerialNumber

Spécifie un index défini par l’appareil du descripteur de chaîne qui fournit une chaîne qui contient un numéro de série déterminé par le fabricant pour l’appareil.

bNumConfigurations

Spécifie le nombre total de configurations possibles pour l’appareil.

Remarques

Cette structure est utilisée pour contenir un descripteur de périphérique défini par USB récupéré. Ces informations peuvent ensuite être utilisées pour configurer ou récupérer davantage d’informations sur l’appareil. Les descripteurs d’appareil sont récupérés en envoyant un URB get-descriptor.

Les valeurs iManufacturer, iProduct et iSerialNumber, lorsqu’elles sont retournées à partir du pilote du contrôleur hôte, contiennent des valeurs d’index dans un tableau de descripteurs de chaînes géré par l’appareil. Pour récupérer ces chaînes, une demande de descripteur de chaîne peut être envoyée à l’appareil à l’aide de ces valeurs d’index.

Configuration requise

Condition requise Valeur
En-tête usbspec.h (inclure Usb100.h)

Voir aussi

USB Structures

UsbBuildGetDescriptorRequest

_URB_CONTROL_DESCRIPTOR_REQUEST