我是USB接口的新手,我正在尝试为WINCE 2013设备构建应用程序。在我的设备中,一个供应商(假设' X')VID和PID用于USB大容量存储设备类。
现在,我有一个特定的用例,其中应该在USB rndis类上构建通信。出于这种通信目的,我们使用的是microsoft通用rndis驱动程序(不是自定义驱动程序)。那么,我是否可以使用X的VID和PID(我现在用于MASS STORAGE类)用于Rndis类,或者需要再次购买新的。我知道我可以在开发阶段使用任何VID和PID,但我需要生产设备的VID和PID。
或者我可以通过仅更改设备的序列号来使用Microsoft VID,PID和兼容的id兼容Microsoft通用rndis驱动程序吗?
请提前建议并表示感谢! : - )
(如果查询过于含糊不清,请告诉我。)
答案 0 :(得分:0)
很难找到明确的答案,但也许我们可以通过Microsoft MVP(强调我的)推断this post:
(...)如果你不再需要改变MS的VID / PID 您使用USB RNDIS 来使用ActiveSync 。
这是官方的回应 微软在这个问题上(正如一位MVP对客户的要求) 谁有同样的问题):
问题:他们应该使用Microsoft PIDVID还是创建自己的?如果 他们创建自己的,这意味着修改当前的.inf文件和 因此,这意味着驱动程序将是未签名的,因此可能不会 能够安装。过去,Microsoft PIDVID发出了警告 不要用这个。现在在6.0中没有出现警告。
答案:答案与Windows Mobile完全相同:For ActiveSync使用,是的,您可以使用Microsoft的VID&您的方案的PID。
这是对文档的更改,该文档说明了获得自己的PID& VID。与示例注册表文件所说的相反,OEM应该发货 该设备使用微软的VID&用于USB串行ActiveSync客户端的PID。 最新的OEM文档确认了这个(...)
现在,既然你没有特别提到ActiveSync,我的理解是上面可能不适用于你的用例,这再次意味着你必须使用你自己的VID和PID。
如果您已拥有VID / PID组合,我也不会在RNDIS上看到任何(合法)问题。毕竟它是同一个设备,USB主机将加载两个不同类(非自定义)驱动程序中的一个来与设备通信。
但是,如果您使用自己的VID / PID,则必须