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