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) |