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