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