USB idproduct和idvendor

USB idproduct和idvendor,usb,registry,windows-embedded-compact,rndis,Usb,Registry,Windows Embedded Compact,Rndis,我对USB接口非常陌生,我正在尝试为WINCE 2013设备构建一个应用程序。在我的设备中,一个供应商(假设为“X”)的VID和PID用于USB大容量存储设备类 现在,我有了一个特定的用例,其中通信应该建立在USB rndis类上。为此,我们使用microsoft通用rndis驱动程序(不是自定义驱动程序)。因此,我可以将X的VID和PID(我现在用于大容量存储类)也用于Rndis类,还是需要再次购买一个新的。我知道我可以在开发阶段使用任何VID和PID,但我需要生产设备的VID和PID 或者我

我对USB接口非常陌生,我正在尝试为WINCE 2013设备构建一个应用程序。在我的设备中,一个供应商(假设为“X”)的VID和PID用于USB大容量存储设备类

现在,我有了一个特定的用例,其中通信应该建立在USB rndis类上。为此,我们使用microsoft通用rndis驱动程序(不是自定义驱动程序)。因此,我可以将X的VID和PID(我现在用于大容量存储类)也用于Rndis类,还是需要再次购买一个新的。我知道我可以在开发阶段使用任何VID和PID,但我需要生产设备的VID和PID

或者我可以通过仅更改设备的序列号来使用与Microsoft通用rndis驱动程序兼容的Microsoft VID、PID和兼容id吗

请提前提出建议并表示感谢!:-)


(如果查询太模糊而无法理解,请务必告诉我。)

很难找到明确的答案,但也许我们可以从Microsoft MVP(我的重点)推断:

(…)如果需要,您不必再更改MS的VID/PID 您可以使用USB RNDIS来使用ActiveSync

以下是官方的回应 微软在这个问题上(正如一位MVP同事就一个客户提出的问题 谁有同样的问题):

问题:他们应该使用Microsoft PIDVID还是创建自己的?如果 它们创建自己的,这意味着修改当前的.inf文件和 因此,这意味着驱动程序将被取消签名,因此可能不会 能够安装。过去,微软PIDVID曾发出警告 不要用这个。现在在6.0中,警告不会出现

答:答案与Windows Mobile完全相同:for ActiveSync的使用,是的,您可以在您的场景中使用Microsoft的VID&PID

这是一个改变,从文件中说,以获得自己的PID& 维德。与示例注册表文件所述相反,OEM应该发货 该设备使用Microsoft的用于USB串行ActiveSync客户端的VID&PID。 最新的OEM文档证实了这一点(…)

现在,由于您没有特别提到ActiveSync,我的理解是上述内容可能不适用于您的用例,这再次意味着您必须使用自己的VID和PID

如果您已经拥有一个VID/PID组合,那么在RNDIS中使用它也不会有任何(法律)问题。它毕竟是同一个设备,USB主机将加载两个不同类(非自定义)驱动程序中的一个来与设备通信

但是,如果您使用自己的VID/PID,则必须

  • 向最终用户提供包含自定义VID/PID的签名INF文件,或
  • 指示用户在设备首次连接到PC时手动选择RNDIS驱动程序

  • 如果RNDIS驱动程序与Microsoft的
    usbser.sys
    驱动程序类似,则它不会根据设备的USB供应商ID或产品ID对设备进行歧视。您的设备应使用您自己的供应商ID,而不是Microsoft的。您可能需要提供一个INF文件来告诉Windows您的设备使用哪个驱动程序。您应该真正测试您的固件/驱动程序/软件设置是否正常工作,而不是依赖StackOverflow答案;你没有可以测试的机器吗?