怎么样区分Windows系统里的多个U盘(USB设备)?
手机接到电脑上产生两个U盘,一个是手机内存,一个是扩充卡.怎么样写程序怎么样区分这两个? 另外如果有接别的U盘,又怎么样区分别的跟这两个?请高手指教!
这个DDK上都有啊。
U盘显然是Mass Storage设备。而如果其他两个属同种设备的话可以根据不同的VID和PID在枚举时加以区别。这个不是很难啊。
如果一个USB设备上有两个U盘呢??象那种composite usb device有多个接口的话,他可能有多个U盘,这些个U盘应该会有相同的VID和PID吧。另外怎么通过USB的盘符得到PID和VID呢?
当前插入USB设备(普通U盘和MP3)的VID和PID可以从注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR中获得,其中USBSTOR这个子键依据插入USB设备的不同目录也不同,也可能是HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\*******,
VID,PID 不同,在 PC 上插过之后,可以到这里去找
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTORE
就算是相同的
VID和PID!只要是相对的LUN不同就好了!
系统中最多只能有 127 个 USB DEVICE...
USB 驱动控制每个 DEVICE, 会给在系统的每个 DEVICE 分配一个唯一的 ID...
所以,就算你完全相同的 USB DEVICE 在同一个系统中,也能区分开...