usbspec.h () USB_CONFIGURATION_DESCRIPTOR结构

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

指定用于描述此配置的行为的位图。 按小端顺序描述和设置位。

bit 含义
0 - 4 保留。
5 配置支持远程唤醒。
6 配置是自供电的,不使用总线的电源。
7 配置由总线提供支持。

MaxPower

指定此设备的电源要求(以两毫米为单位)。 只有在 bmAttributes 中设置了位 7 时,此成员才有效。

备注

如果 wTotalLength 大于 URB 中提供的缓冲区大小,用于保存检索到的所有描述符 (接口、终结点、类和供应商定义的) ,将返回不完整的数据。 若要检索完整的描述符,需要使用更大的缓冲区重新发送请求。

如果 同时设置了 bmAttributes 位 6 位和 7 位,则设备由总线和总线外部的源供电。

作为此结构的一部分但此处未描述的其他成员应被视为不透明,并被视为保留供系统使用。

要求

   
Header usbspec.h (包括 Usb100.h)

另请参阅

USB 结构

USBD_CreateConfigurationRequest

UsbBuildGetDescriptorRequest