vc下进行usb读写有关问题:vid pid相同的usb设备,在读写的时候怎么进行区分

vc下进行usb读写问题:vid pid相同的usb设备,在读写的时候如何进行区分
如题:大侠们,谁做过用vc进行usb设备读写的,就我目前所知的,我会用windows api进行读写,libusb进行读写。但是上述2中方式,我存在的疑问是如果我有多个vid,pid相同的usb设备一起插入到电脑上,我如何来区分到底是哪一个usb设备?我不知道是哪个usb设备,我就不知道如何与之通信。

用windows api进行读写,根据设备的guid查找vid,pid然后与自己的事先写入的vid,pid进行匹配,查找到就打开usb设备。
用libusb进行读写,根据vid,pid进行打开usb设备。

那问题是多个相同的vid,pid设备一起插入,如何来区分?


------解决思路----------------------
刚才有试过,两个一样的U盘插进系统里面,在设备属性详细信息页里面,基本容器ID不一样.
你看这对你有没有帮助.
------解决思路----------------------
你去枚举 USB 设备,可以枚举到所有的。
获取到设备后,你可以自己区别!
------解决思路----------------------
vid,pid一般只是用来查找设备吧
实际操作设备会用到路径之类的东西,  用这个路径可以区分具体是那个
------解决思路----------------------
usb设备的vid、pid能改吗?有的设备可以配置vid、pid
你的两个设备是同一种设备吗?如果不是可以枚举设备,然后分别和设备进行通讯,通过通讯结果判断
------解决思路----------------------
引用:
Quote: 引用:

刚才有试过,两个一样的U盘插进系统里面,在设备属性详细信息页里面,基本容器ID不一样.
你看这对你有没有帮助.
非常感谢,不知道你做过这方面的 开发没有?容器id不一样,这个好像不行,因为你要跟着2个usb通信,你首先就得先通信上连接上。

usb 系统级别的研究比较少,
bios的usb code 倒是追过一段时间.
------解决思路----------------------
枚举应该可以区分吧,
另外顺便求教有没有枚举硬盘信息的方法,读取注册表中硬盘的一些信息?
------解决思路----------------------
由人去选,或者一个一个的用特定方法去区别,比如读读序列号什么的。

------解决思路----------------------
这个肯定会有不同的,你仔细对比 看看。。。
------解决思路----------------------
这个要设备有区分,比如序列号之类的。设备所有的信息都一样的话,上层很难区分