Freigeben über


USB_CONFIGURATION_DESCRIPTOR Struktur (usbspec.h)

Die USB_CONFIGURATION_DESCRIPTOR-Struktur wird von USB-Clienttreibern verwendet, um einen USB-definierten Konfigurationsdeskriptor zu halten. Die Mitglieder dieser Struktur werden in der Spezifikation universal Serial Bus 3.1 beschrieben, die unter USB-Dokumentbibliothekverfügbar ist. Siehe Abschnitt 9.6.3.

Syntax

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;

Angehörige

bLength

Gibt die Länge dieser Struktur in Bytes an.

bDescriptorType

Gibt den Deskriptortyp an. Muss auf USB_CONFIGURATION_DESCRIPTOR_TYPE festgelegt sein.

wTotalLength

Gibt die Gesamtlänge aller Daten für die Konfiguration in Bytes an. Die Länge enthält alle Schnittstellen-, Endpunkt-, Klassen- oder anbieterspezifischen Deskriptoren, die mit dem Konfigurationsdeskriptor zurückgegeben werden.

bNumInterfaces

Gibt die Gesamtanzahl der von dieser Konfiguration unterstützten Schnittstellen an.

bConfigurationValue

Enthält den Wert, der zum Auswählen einer Konfiguration verwendet wird. Dieser Wert wird an die USB SetConfiguration-Anforderung übergeben, wie in Version 1.1 der Universal Serial Bus Specification beschrieben. Der Porttreiber macht derzeit keinen Dienst verfügbar, der die Festlegung der Konfiguration auf höherer Ebene ermöglicht.

iConfiguration

Gibt den vom Gerät definierten Index des Zeichenfolgendeskriptors für diese Konfiguration an.

bmAttributes

Gibt eine Bitmap an, die das Verhalten dieser Konfiguration beschreibt. Die Bits werden beschrieben und in kleiner endischer Reihenfolge festgelegt.

Bit Bedeutung
0 - 4 Reserviert.
5 Die Konfiguration unterstützt die Remotereaktivierung.
6 Die Konfiguration ist selbstbetrieben und verwendet keinen Strom aus dem Bus.
7 Die Konfiguration wird vom Bus betrieben.

MaxPower

Gibt die Leistungsanforderungen dieses Geräts in zwei Milliampereeinheiten an. Dieses Element ist nur gültig, wenn Bit sieben in bmAttributesfestgelegt ist.

Bemerkungen

Wenn wTotalLength- größer als die puffergröße ist, die in der URB bereitgestellt wird, um alle abgerufenen Deskriptoren (Schnittstelle, Endpunkt, Klasse und anbieterdefiniert) zu enthalten, werden unvollständige Daten zurückgegeben. Um vollständige Deskriptoren abzurufen, muss die Anforderung mit einem größeren Puffer erneut gesendet werden.

Wenn bmAttributes Bits sechs und sieben festgelegt sind, wird das Gerät sowohl vom Bus als auch von einer quelle außerhalb des Busses angetrieben.

Andere Elemente, die Teil dieser Struktur sind, hier jedoch nicht beschrieben werden, sollten als undurchsichtig behandelt und als für die Systemverwendung reserviert betrachtet werden.

Anforderungen

Anforderung Wert
Header- usbspec.h (enthalten Usb100.h)

Siehe auch

USB-Strukturen

USBD_CreateConfigurationRequest

UsbBuildGetDescriptorRequest