2

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

现在,我有特定的用例,通信应该建立在 USB rndis 类上。出于此通信目的,我们按原样使用微软通用 rndis 驱动程序(不是自定义驱动程序)。那么,我是否可以将 X 的 VID 和 PID(我现在用于 MASS STORAGE 类)也用于 Rndis 类,或者需要再次购买一个新的。我知道我可以在开发阶段使用任何 VID 和 PID,但我需要 VID 和 PID 用于生产设备。

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

请提前建议和感谢!:-)

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

4

1 回答 1

0

很难找到明确的答案,但也许我们可以从Microsoft MVP(强调我的)的这篇文章中推断:

(...) 如果您使用 USB RNDIS来使用 ActiveSync,则无需再更改 MS 的 VID/PID 。

以下是 Microsoft 对此主题的官方回复(一位 MVP 同事就遇到相同问题的客户提出的问题):

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

答案:答案与 Windows Mobile 完全相同:对于 ActiveSync 使用,是的,您可以针对您的场景使用 Microsoft 的 VID 和 PID。

这是对文档的更改,该文档说要获取您自己的 PID 和 VID。与示例注册表文件所说的相反,OEM 应使用 Microsoft 的用于 USB-Serial ActiveSync 客户端的 VID 和 PID 运送设备。最新的 OEM 文档证实了这一点 (...)

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

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

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

  1. 向最终用户提供包含您的自定义 VID/PID 的签名 INF 文件,或
  2. 指导用户在您的设备首次连接到 PC 时手动选择 RNDIS 驱动程序
于 2017-07-18T09:27:14.707 回答