阅读:1846回复:2
请教各位前辈,主机是怎样读取Vendor ID和Product ID的?很急,谢谢
主机枚举USB设备的时候,要读取设备的Vendor ID和Product ID,那主机是怎样读取这两个值的?主机怎么知道这两个值放在设备的那个位置?急盼各个位前辈指教,谢谢。
|
|
最新喜欢:jipeif... |
沙发#
发布于:2002-10-24 11:48
主机通过固件程序中的设备描述符来得到。设备描述符结构是USB标准所定义的数据结构之一,以下是一个例子:USB_DEVICE_DESCRIPTOR DeviceDescr =
{ sizeof(USB_DEVICE_DESCRIPTOR),// bLength USB_DEVICE_DESCRIPTOR_TYPE, // bDescriptorType SWAP(0x0100), // bcdUSB USB_CLASS_CODE_TEST_CLASS_DEVICE,// bDeviceClass 0, // bDeviceSubClass 0, // bDeviceProtocol EP0_PACKET_SIZE, // bMaxPacketSize SWAP(0x0471), // idVendor SWAP(0x0666), // idProduct SWAP(0x0100), // bcdDevice 0, // iManufacturer 0, // iProduct 0, // iSerialNumber 25 // bNumConfigurations }; 设备上电过后,在驱动程序装入之前,主机与设备会进行若干次通信,在这个过程中,主机得到设备的描述符中的VendorID和ProductID,然后在系统驱动程序库中查找,与它们相符的.inf如果找不到,就提示用户指定.inf,装入驱动。所以在你的.inf中也要加入VendorID和ProductID,一般在驱动程序提供商字段中。格式如下: %USB\\VID_0471&PID_0610.DeviceDesc%=XKYCD12.Dev,USB\\VID_0471&PID_0610 |
|
板凳#
发布于:2002-10-24 13:11
透咿 USB BUS 下命令斤 特定的 DEVICE, Get USB_DEVICE_DESCRIPTOR. 那儋料就在 STRUCT 中了,
|
|