1

我们正在移植我们的 USB 设备 dll 以使用通用 WinUsb。但是,WinUsb 不支持多个并发应用程序访问同一设备(相同的 VID 和 PID)。我想知道是否有办法使用 WinUsb 实现这种并发访问?我阅读了有关过滤器驱动程序和服务的信息。1. 我不想使用过滤器驱动程序,因为据我了解,这必须通过 WHQL,我宁愿不走这条路。2.关于windows服务:我应该如何实现它?该服务是否应该获得对 WinUsb 的所有调用,并且如果不同的应用程序尝试访问同一设备,它将关闭与第一个应用程序的连接,打开一个新连接,然后再次返回?

在这种情况下,服务是正确的解决方案吗?除了我写的之外,还有其他方法可以实现解决方案吗?

谢谢。

4

1 回答 1

0

过滤器驱动程序不需要通过 WHQL。您只需要签署驱动程序包所需的目录文件。这只需要验证/...的代码签名证书。应该是了解这一点的一个很好的起点。

然而,内核驱动程序可能很难开发。所以也许 COM 服务器会是更好的方法。通过允许 COM 客户端从您的服务创建对象,然后在您的 COM 服务器中实现某种共享/互斥,您可以从服务中实现这种共享。

COM-exe 服务器可以相对快速地编写。

于 2010-11-02T16:44:58.080 回答