USB_CONFIGURATION_DESCRIPTOR-Struktur (usbspec.h)

Die USB_CONFIGURATION_DESCRIPTOR-Struktur wird von USB-Clienttreibern verwendet, um einen USB-definierten Konfigurationsdeskriptor zu enthalten. Die Elemente dieser Struktur werden in der Spezifikation für universal Serial Bus 3.1 beschrieben, die unter USB-Dokumentbibliothek verfü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;

Member

bLength

Gibt die Länge dieser Struktur in Bytes an.

bDescriptorType

Gibt den Deskriptortyp an. Muss auf USB_CONFIGURATION_DESCRIPTOR_TYPE festgelegt werden.

wTotalLength

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

bNumInterfaces

Gibt die Gesamtzahl der Schnittstellen an, die von dieser Konfiguration unterstützt werden.

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 es Treibern auf höherer Ebene ermöglicht, die Konfiguration festzulegen.

iConfiguration

Gibt den gerätedefinierte Index des Zeichenfolgendeskriptors für diese Konfiguration an.

bmAttributes

Gibt eine Bitmap an, um das Verhalten dieser Konfiguration zu beschreiben. Die Bits werden in little-endianischer Reihenfolge beschrieben und festgelegt.

bit Bedeutung
0–4 Reserviert.
5 Die Konfiguration unterstützt die Remotereaktivierung.
6 Die Konfiguration ist selbstbetrieben und verwendet keine Stromversorgung aus dem Bus.
7 Die Konfiguration wird vom Bus unterstützt.

MaxPower

Gibt die Leistungsanforderungen dieses Geräts in Zwei-Milliampere-Einheiten an. Dieser Member ist nur gültig, wenn Bit sieben in bmAttributes festgelegt ist.

Hinweise

Wenn wTotalLength die in der URB angegebene Puffergröße für alle abgerufenen Deskriptoren (Schnittstelle, Endpunkt, Klasse und Anbieter) überschreitet, werden unvollständige Daten zurückgegeben. Um vollständige Deskriptoren abzurufen, muss die Anforderung mit einem größeren Puffer erneut gesendet werden.

Wenn die bmAttributes-Bits sechs und sieben festgelegt sind, wird das Gerät sowohl vom Bus als auch von einer externen Quelle betrieben.

Andere Member, die Teil dieser Struktur sind, aber hier nicht beschrieben werden, sollten als undurchsichtig behandelt und als für die Systemnutzung reserviert betrachtet werden.

Anforderungen

Anforderung Wert
Header usbspec.h (einschließlich Usb100.h)

Weitere Informationen

USB-Strukturen

USBD_CreateConfigurationRequest

UsbBuildGetDescriptorRequest