Windows虚拟USB设备?

Windows虚拟USB设备?,windows,usb,virtual,drivers,Windows,Usb,Virtual,Drivers,我正在研究可用于创建虚拟USB设备(比如键盘或大容量存储设备)的选项,以便根据需要模拟其功能,并允许用户空间应用程序随意模拟其插入/移除 我不清楚的是如何模拟插入/删除。一种选择似乎是模拟(虚拟)USB集线器,并让它模拟设备到达/离开事件(我还将为我的虚拟USB设备提供设备驱动程序,这就是我的设备逻辑将驻留的地方) 我熟悉Windows内核(编写了NDIS微型端口驱动程序),不怕SoftICE,但USB不是我的领域,只是从它开始 我的虚拟中心方法是否正确?如果是这样,WDK是否支持开发虚拟集线器

我正在研究可用于创建虚拟USB设备(比如键盘或大容量存储设备)的选项,以便根据需要模拟其功能,并允许用户空间应用程序随意模拟其插入/移除

我不清楚的是如何模拟插入/删除。一种选择似乎是模拟(虚拟)USB集线器,并让它模拟设备到达/离开事件(我还将为我的虚拟USB设备提供设备驱动程序,这就是我的设备逻辑将驻留的地方)

我熟悉Windows内核(编写了NDIS微型端口驱动程序),不怕SoftICE,但USB不是我的领域,只是从它开始

我的虚拟中心方法是否正确?如果是这样,WDK是否支持开发虚拟集线器驱动程序(似乎不是)

还有其他选择吗

--

(编辑)忘记提及-我知道DSF,但它在W8上

我的虚拟中心方法是否正确

简言之,是的,我是对的


这就是为什么,这是一个相对简单的方法。另外,请参阅Eugen。

我不知道您是否知道,但Microsoft发布了Win10(USB设备模拟)


一节中,他们准确地描述了您想要的内容。

您看过USBIP项目(ons sourceforge)吗?他们的USB over IP实现正是如此,而且他们提供了非常稳定的Windows驱动程序!你最终可能会编写一个USB/IP服务器作为一个更简单的选择(而且网络透明是一个额外的选择)。呸!我知道这个项目,但我不知道为什么我没有看到他们是如何模拟设备插入/删除的。非常有帮助,尤金。非常感谢。Angstrom,我可能已经忘记了我自己,如果我不是刚刚在玩它的话:两个USB设备,都使用完全相同的芯片,但不同的VID/PID-一个供应商不提供新Windows版本的驱动程序,另一个供应商提供,但硬锁定到VID/PID。。。轻松修补USBIP以动态更改VID/PID,问题已解决。优雅:)您在W8中测试过它吗?TBH:我们的软件都不支持W8(或Vista)。仅支持可用的Windows版本。我们的客户对此非常满意。我可以明天问他们关于W8.1的事,然后再发回来。前面提到的补丁是服务器端完成的。你写过关于如何编写自己的虚拟USB设备的博文吗?我们中的一些人对这样做很感兴趣,而且(在2017年)谷歌或duckduckgo搜索也找不到好文章。我不是写博客的人。对不起,这对我们其他人来说是不幸的。别误会我的意思:我不是有意轻视你,我真诚的意思是这对我们其他人来说是不幸的。这是一个QA网站,你找到了答案,但没有在这里完整地写出来,以至于(基于答案文本)我们可以轻松地做同样的事情。你不是写博客的类型,这与其他人无关,但这对我们来说是不幸的。我们(例如,在SO上找到这个问题并希望答案能帮助他们的每个人)不会真正找到他们希望找到的答案,因此我们必须继续寻找关于该主题的未来Q/A。