Partager via


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)

Voir aussi

structures USB

USBD_CreateConfigurationRequest

usbBuildGetDescriptorRequest