structure USB_CONFIGURATION_DESCRIPTOR (usbspec.h)
La structure USB_CONFIGURATION_DESCRIPTOR est utilisée par les pilotes clients USB pour contenir un descripteur de configuration défini par USB. Les membres de cette structure sont décrits dans la spécification Universal Serial Bus 3.1 disponible à bibliothèque de documents USB. Consultez la section 9.6.3.
Syntaxe
typedef struct _USB_CONFIGURATION_DESCRIPTOR {
UCHAR bLength;
UCHAR bDescriptorType;
USHORT wTotalLength;
UCHAR bNumInterfaces;
UCHAR bConfigurationValue;
UCHAR iConfiguration;
UCHAR bmAttributes;
UCHAR MaxPower;
} USB_CONFIGURATION_DESCRIPTOR, *PUSB_CONFIGURATION_DESCRIPTOR;
Membres
bLength
Spécifie la longueur, en octets, de cette structure.
bDescriptorType
Spécifie le type de descripteur. Doit être défini sur USB_CONFIGURATION_DESCRIPTOR_TYPE.
wTotalLength
Spécifie la longueur totale, en octets, de toutes les données de la configuration. La longueur inclut tous les descripteurs spécifiques à l’interface, au point de terminaison, à la classe ou au fournisseur retournés avec le descripteur de configuration.
bNumInterfaces
Spécifie le nombre total d’interfaces prises en charge par cette configuration.
bConfigurationValue
Contient la valeur utilisée pour sélectionner une configuration. Cette valeur est transmise à la requête USB SetConfiguration, comme décrit dans la version 1.1 de la spécification du bus série universel. Le pilote de port n’expose pas actuellement un service qui permet aux pilotes de niveau supérieur de définir la configuration.
iConfiguration
Spécifie l’index défini par l’appareil du descripteur de chaîne pour cette configuration.
bmAttributes
Spécifie une bitmap pour décrire le comportement de cette configuration. Les bits sont décrits et définis dans l’ordre little-endian.
Mors | Signification |
---|---|
0 - 4 | Réservé. |
5 | La configuration prend en charge la mise en éveil à distance. |
6 | La configuration est auto-alimentée et n’utilise pas l’alimentation du bus. |
7 | La configuration est alimentée par le bus. |
MaxPower
Spécifie les exigences de puissance de cet appareil en unités à deux milliampere. Ce membre n’est valide que si le bit sept est défini dans bmAttributes.
Remarques
Si wTotalLength est supérieur à la taille de mémoire tampon fournie dans l’URB pour contenir tous les descripteurs récupérés (interface, point de terminaison, classe et définition du fournisseur), les données incomplètes sont retournées. Pour récupérer les descripteurs complets, la requête doit être réexécrite avec une mémoire tampon plus grande.
Si bmAttributes bits six et sept sont tous deux définis, l’appareil est alimenté à la fois par le bus et par une source externe au bus.
D’autres membres qui font partie de cette structure, mais qui ne sont pas décrits ici, doivent être traités comme opaques et considérés comme réservés à l’utilisation du système.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | usbspec.h (include Usb100.h) |