Condividi tramite


struttura USB_CONFIGURATION_DESCRIPTOR (usbspec.h)

La struttura USB_CONFIGURATION_DESCRIPTOR viene usata dai driver client USB per contenere un descrittore di configurazione definito da USB. I membri di questa struttura sono descritti nella specifica Universal Serial Bus 3.1 disponibile nella raccolta documenti USB. Vedere la sezione 9.6.3.

Sintassi

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;

Members

bLength

Specifica la lunghezza, in byte, di questa struttura.

bDescriptorType

Specifica il tipo di descrittore. Deve essere impostato su USB_CONFIGURATION_DESCRIPTOR_TYPE.

wTotalLength

Specifica la lunghezza totale, in byte, di tutti i dati per la configurazione. La lunghezza include tutti i descrittori di interfaccia, endpoint, classe o fornitori specifici del fornitore restituiti con il descrittore di configurazione.

bNumInterfaces

Specifica il numero totale di interfacce supportate da questa configurazione.

bConfigurationValue

Contiene il valore utilizzato per selezionare una configurazione. Questo valore viene passato alla richiesta SETConfiguration USB, come descritto nella versione 1.1 della specifica del bus seriale universale. Il driver della porta non espone attualmente un servizio che consente ai driver di livello superiore di impostare la configurazione.

iConfiguration

Specifica l'indice definito dal dispositivo del descrittore di stringa per questa configurazione.

bmAttributes

Specifica una bitmap per descrivere il comportamento di questa configurazione. I bit vengono descritti e impostati in ordine little-endian.

bit Significato
0 - 4 Riservato.
5 La configurazione supporta la riattivazione remota.
6 La configurazione è self-powered e non usa potenza dall'autobus.
7 La configurazione è basata sul bus.

MaxPower

Specifica i requisiti di alimentazione di questo dispositivo in unità a due milliampere. Questo membro è valido solo se bit seven è impostato in bmAttributes.

Commenti

Se wTotalLength è maggiore delle dimensioni del buffer fornite nell'oggetto ROUTE per contenere tutti i descrittori recuperati (interfaccia, endpoint, classe e fornitore), verranno restituiti dati incompleti. Per recuperare descrittori completi, è necessario inviare nuovamente la richiesta con un buffer più grande.

Se bmAttributes bits sei e sette sono entrambi impostati, il dispositivo viene alimentato sia dal bus che da un'origine esterna all'autobus.

Gli altri membri che fanno parte di questa struttura, ma non descritti qui, devono essere considerati opachi e considerati riservati per l'uso del sistema.

Requisiti

Requisito Valore
Intestazione usbspec.h (include Usb100.h)

Vedi anche

Strutture USB

USBD_CreateConfigurationRequest

UsbBuildGetDescriptorRequest