USB_DEVICE_DESCRIPTOR 结构 (usbspec.h)

USB 客户端驱动程序使用 USB_DEVICE_DESCRIPTOR 结构来检索 USB 定义的设备描述符。 USB 文档库中提供的通用串行总线 3.1 规范中介绍了此结构的成员。 请参阅 9.6.1 部分。

语法

typedef struct _USB_DEVICE_DESCRIPTOR {
  UCHAR  bLength;
  UCHAR  bDescriptorType;
  USHORT bcdUSB;
  UCHAR  bDeviceClass;
  UCHAR  bDeviceSubClass;
  UCHAR  bDeviceProtocol;
  UCHAR  bMaxPacketSize0;
  USHORT idVendor;
  USHORT idProduct;
  USHORT bcdDevice;
  UCHAR  iManufacturer;
  UCHAR  iProduct;
  UCHAR  iSerialNumber;
  UCHAR  bNumConfigurations;
} USB_DEVICE_DESCRIPTOR, *PUSB_DEVICE_DESCRIPTOR;

成员

bLength

指定此描述符的长度(以字节为单位)。

bDescriptorType

指定描述符类型。 必须设置为 USB_DEVICE_DESCRIPTOR_TYPE

bcdUSB

标识此描述符结构符合的 USB 规范的版本。 此值是二进制编码的十进制数。

bDeviceClass

指定 USB 规范组分配的设备类代码。

bDeviceSubClass

指定 USB 规范组分配的设备子类代码。

bDeviceProtocol

指定 USB 规范组分配的设备协议代码。

bMaxPacketSize0

指定设备终结点零的最大数据包大小(以字节为单位)。 该值必须设置为 8、16、32 或 64。

idVendor

指定 USB 规范委员会分配的设备的供应商标识符。

idProduct

指定产品标识符。 此值由制造商分配,并且特定于设备。

bcdDevice

标识设备的版本。 此值是二进制编码的十进制数。

iManufacturer

指定字符串描述符的设备定义索引,该字符串描述符提供包含此设备的制造商名称的字符串。

iProduct

指定字符串描述符的设备定义索引,该字符串描述符提供包含设备说明的字符串。

iSerialNumber

指定字符串描述符的设备定义索引,该字符串描述符提供包含制造商确定的设备的序列号的字符串。

bNumConfigurations

指定设备的可能配置总数。

注解

此结构用于保存检索到的 USB 定义的设备描述符。 然后,此信息可用于进一步配置或检索有关设备的信息。 通过提交 get-描述符 URB 检索设备描述符。

从主机控制器驱动程序返回时, iManufactureriProductiSerialNumber 值将索引值包含在设备维护的字符串描述符数组中。 若要检索这些字符串,可以使用这些索引值向设备发送字符串描述符请求。

要求

要求
Header usbspec.h (包括 Usb100.h)

另请参阅

USB 结构

UsbBuildGetDescriptorRequest

_URB_CONTROL_DESCRIPTOR_REQUEST