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 值,将索引值包含在设备维护的字符串描述符数组中。 若要检索这些字符串,可以使用这些索引值将字符串描述符请求发送到设备。

要求

要求 价值
标头 usbspec.h (包括 Usb100.h)

另请参阅

USB 结构

UsbBuildGetDescriptorRequest

_URB_CONTROL_DESCRIPTOR_REQUEST