我有一个设备和这个设备的驱动程序。我想做的是构建一个模拟 USB 设备以与第三方应用程序通信的应用程序。
更具体地说,我正在尝试构建一个应用程序,该应用程序可以模拟模仿 Microsoft Zune 的 USB 设备。我想这样做,以便我的应用程序可以注册为 zune 设备,然后与客户端通信。我已经在我的应用程序中添加了几个 DLL,以便尝试确定告诉软件连接的设备是合法 zune 的调用,但到目前为止我运气不佳。
我是这种类型的开发的新手 - 即模拟硬件设备,而且我在导入用 C/C++ 编写的 dll 方面不是很有经验。我正在使用 Visual Studio 2010 (.net 4.0) 来开发我的应用程序,如果有人能为我提供模拟硬件的帮助,我将不胜感激。我确实有设备驱动程序,Visual Studio 拒绝直接引用它。我还有一个实际的物理设备,因此我可以在设备管理器中查看它使用的驱动程序。
目标如下
- 应用程序将自己注册为 USB 设备,以类似于虚拟克隆驱动器模仿 DVD 播放器的方式模仿 Microsoft Zune。
- 应用程序被 zune 客户端识别为有效的 Microsoft zune。
- Zune 软件像处理硬件设备一样处理应用程序(同步等)
最佳答案
我刚找到一个叫做 Device Simulation Framework 的东西,这可能正是您所需要的。不过,仍然需要对 USB 的工作原理进行大量研究才能完成您的解决方案。并且可能仍然通常使用 C 或 C++ 完成。
Zune 使用称为 MTPZ 的 MTP 协议(protocol)的修改版本,但我发现此示例使用设备模拟框架来模拟常规 MTP 设备。它叫做The MTP Device Simulator .我不知道源代码是否可用。
关于c# - 通过 USB 连接模拟设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5836142/