USB_CONFIGURATION_DESCRIPTOR结构(usbspec.h)
USB 客户端驱动程序使用 USB_CONFIGURATION_DESCRIPTOR 结构来保存 USB 定义的配置描述符。 此结构的成员在 USB 文档库提供的通用串行总线 3.1 规范中介绍。 请参阅第 9.6.3 节。
语法
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;
成员
bLength
指定此结构的长度(以字节为单位)。
bDescriptorType
指定描述符类型。 必须设置为USB_CONFIGURATION_DESCRIPTOR_TYPE。
wTotalLength
指定配置所有数据的总长度(以字节为单位)。 长度包括使用配置描述符返回的所有接口、终结点、类或供应商特定的描述符。
bNumInterfaces
指定此配置支持的接口总数。
bConfigurationValue
包含用于选择配置的值。 此值将传递给 USB SetConfiguration 请求,如通用串行总线规范版本 1.1 中所述。 端口驱动程序当前不公开允许更高级别的驱动程序设置配置的服务。
iConfiguration
指定此配置的字符串描述符的设备定义索引。
bmAttributes
指定用于描述此配置的行为的位图。 按小端顺序描述和设置位。
位 | 意义 |
---|---|
0 - 4 | 保留。 |
5 | 配置支持远程唤醒。 |
6 | 配置是自供电的,不使用总线的电源。 |
7 | 配置由总线提供支持。 |
MaxPower
指定此设备的电源要求(以两毫米为单位)。 仅当位 bmAttributes 中设置位 bmAttributes 时,此成员才有效。
言论
如果 wTotalLength 大于 URB 中提供的缓冲区大小以保存检索的所有描述符(接口、终结点、类和供应商定义),将返回不完整的数据。 若要检索完整的描述符,需要使用更大的缓冲区重新发送请求。
如果 bmAttributes 位 6 位和 7 位均已设置,则设备由总线和总线外部的源供电。
作为此结构的一部分但此处未描述的其他成员应被视为不透明,并被视为保留供系统使用。
要求
要求 | 价值 |
---|---|
标头 | usbspec.h (包括 Usb100.h) |