USB_CONFIGURATION_DESCRIPTOR (Windows Embedded CE 6.0)
1/6/2010
This structure describes information about a specific USB device configuration. USB devices can support several different configurations in which different interfaces on the device might behave in different ways.
Syntax
typedef struct {
UCHAR bLength;
UCHAR bDescriptorType;
USHORT wTotalLength;
UCHAR bNumInterfaces;
UCHAR bConfigurationValue;
UCHAR iConfiguration;
UCHAR bmAttributes;
UCHAR MaxPower;
} USB_CONFIGURATION_DESCRIPTOR;
Members
- bLength
Size, in bytes, of this structure.
- bDescriptorType
Constant value CONFIGURATION.
- wTotalLength
Total length of data returned for this configuration. This includes the combined length of all structures — USB_CONFIGURATION_DESCRIPTOR, USB_INTERFACE, USB_ENDPOINT_DESCRIPTOR and any class or vendor-specific structures — returned as part of the configuration information.
- bNumInterfaces
Number of interfaces supported as part of this configuration.
- bConfigurationValue
Configuration's value, used when the USB system software of a USB device driver requests this configuration.
- iConfiguration
Index of a string descriptor describing this configuration.
- bmAttributes
Eight bits of configuration characteristics. Bits zero to four are reserved and should be zero (0). If bit five is set to 1, this configuration supports remote wakeup. If bit six is set to 1, then in this configuration the USB device uses power both from the bus and from an external source, such as a battery or wall socket. The MaxPower member gives the amount of bus power required during usual operation.
- MaxPower
Amount of power required in this configuration when the USB device is fully operational, expressed in units of 2 milliamps. For example, a value of 50 represents power consumption of 100 mA. This member is used if the bmAttributes member indicates that the device requires bus power.
Remarks
The UHCI driver software always chooses the first available configuration for a USB device, regardless of whether that configuration is suitable for use on the bus due to power limitations, bandwidth availability, and so on.
Requirements
Header | usb100.h |
Windows Embedded CE | Windows CE 2.10 and later |
See Also
Reference
USB Host Driver Structures
USB_ENDPOINT_DESCRIPTOR
USB_INTERFACE