能否有多个应用程序声明libusb中的接口?

能否有多个应用程序声明libusb中的接口?,usb,libusb,Usb,Libusb,我正在开发一个硬件/软件应用程序,其中通过usb连接的设备可以对某些数据进行非车载处理。应用程序要打开多次,哪个设备需要哪些数据由流内参数标识。我的问题是,能否有多个应用程序声明一个接口?我的第一个实现使用了WinUSB,但我很快意识到这将我限制在了一个实例上。libusb文档声称在其驱动程序中删除了此限制 我担心的是,因为我打算运行8个以上的实例,所以仅分配8个接口是不够的。事实上,如果我不能多次声明接口,是否有一种方法可以让应用程序调用一个共享库来声明接口,并管理和路由应用程序之间的通信?据

我正在开发一个硬件/软件应用程序,其中通过usb连接的设备可以对某些数据进行非车载处理。应用程序要打开多次,哪个设备需要哪些数据由流内参数标识。我的问题是,能否有多个应用程序声明一个接口?我的第一个实现使用了WinUSB,但我很快意识到这将我限制在了一个实例上。libusb文档声称在其驱动程序中删除了此限制


我担心的是,因为我打算运行8个以上的实例,所以仅分配8个接口是不够的。事实上,如果我不能多次声明接口,是否有一种方法可以让应用程序调用一个共享库来声明接口,并管理和路由应用程序之间的通信?

据我所知,在两种实现中,一个设备只能打开一个句柄

我认为你在如何处理这个问题上走上了正轨。我过去做过类似的事情,就是创建一个在后台运行的服务。此服务应该由应用程序的第一个实例启动,并且可以保留其客户端的引用计数。在应用程序的下一个实例上,增加引用计数,每当客户端应用程序关闭时,减少引用计数。当最后一个应用程序关闭时,服务也可以关闭

该服务的任务是打开设备并将所有数据读入缓冲区。从那里,您可以将smarts放入服务以处理数据并将其加载到其他客户端应用程序实例可以单独访问的不同共享缓冲区中,或者您可以简单地为每个人提供一个巨大的缓冲区(但这是一个风险更高的解决方案)