C# 我们如何通过一个USB接口与3个相同的USB设备通信? 实际上我们有一个USB扫描仪,我们用C++编写了USB核心,并在C中应用。它的VID和PID是特定的,我们根据它的PID和VID进行通信。它的API现在是单例的

C# 我们如何通过一个USB接口与3个相同的USB设备通信? 实际上我们有一个USB扫描仪,我们用C++编写了USB核心,并在C中应用。它的VID和PID是特定的,我们根据它的PID和VID进行通信。它的API现在是单例的,c#,embedded,usb,driver,C#,Embedded,Usb,Driver,事实上,我们有一个想法,连接带有VID和PID的扫描仪,然后更改其PID以连接第二台扫描仪,然后更改其PID以连接第三台扫描仪。在这方面,我们必须改变其USB核心,以适应这三个扫描器在同一时间,因为我们希望保持顶层单例,所以用户界面也是一个,但提供连接三个扫描器 还有其他想法值得赞赏,我们应该如何更改已经存在的单例API,使其能够同时容纳多个扫描仪?您不能更改PID或VID,这会破坏即插即用。很不清楚为什么您认为您需要这个,操作系统在连接时已经为每个设备分配了一个唯一的设备名称。如果所有设备都连

事实上,我们有一个想法,连接带有VID和PID的扫描仪,然后更改其PID以连接第二台扫描仪,然后更改其PID以连接第三台扫描仪。在这方面,我们必须改变其USB核心,以适应这三个扫描器在同一时间,因为我们希望保持顶层单例,所以用户界面也是一个,但提供连接三个扫描器


还有其他想法值得赞赏,我们应该如何更改已经存在的单例API,使其能够同时容纳多个扫描仪?

您不能更改PID或VID,这会破坏即插即用。很不清楚为什么您认为您需要这个,操作系统在连接时已经为每个设备分配了一个唯一的设备名称。如果所有设备都连接了同一供应商的同一产品,该怎么办?它们是否也应该具有不同的唯一设备名称??问题是,我们希望同时操作多个扫描仪,但我们以前设计的API只适用于唯一的实例?我们如何轻松地转换它,以便它现在可以同时控制2个或多个扫描仪?顺便问一下,我应该如何获得所有已连接扫描仪的唯一设备名称??关于什么包和什么命令可以这样做的任何建议??提前谢谢