一个手机两个PID
最近在搞驱动安装,想根据手机的VID和PID去安装相应驱动程序,但是在实施 的过程中却发现了如下的情况:
1.插入华为U8500安装驱动后,在注册表中中发现了很多项,其中有HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB\VID_12D1&PID_1031和HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB\VID_12D1&PID_1035。
又搞了个中兴的设备没装驱动,插入是设备管理器提示一个新设备,他的PID和安装了驱动以后的其他的硬件借点的PID也是不一样的。
注意这里有两个PID,难道一个设备还有产生两个PID吗?哪位高手回答一下?
用USBView看一下设备的描述付。
有些USB设备再枚举过程中会动态切换设备的VID/PID,这样可以支持不同的工作模式,加载不同的驱动程序,实现不同的应用。
一种PID对应一种设备组合,比如刚开始的时候是个虚拟光盘,是PID A,然后装完驱动以后,就不是虚拟光盘了,变成了MODEM+串口,这时就变成了PID B。
本质上是因为手机用一个USB组合设备再分成了多个虚拟设备,一种组合就对应一个PID,否则OS无法管理。