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 来检索设备描述符。
从主机控制器驱动程序返回时,iManufacturer、iProduct和 iSerialNumber 值,将索引值包含在设备维护的字符串描述符数组中。 若要检索这些字符串,可以使用这些索引值将字符串描述符请求发送到设备。
要求
要求 | 价值 |
---|---|
标头 | usbspec.h (包括 Usb100.h) |