通过USB连接的模拟设备

| 我有一台设备和该设备的驱动程序。我想做的是构建一个模拟USB设备以与第三方应用程序通信的应用程序。 更具体地说,我正在尝试构建一个可以模拟模仿Microsoft Zune的USB设备的应用程序。我想这样做,以便我的应用程序可以注册为zune设备,然后与客户端进行通信。我已经在应用程序中添加了几个DLL,以便尝试确定告诉该软件所连接的设备是合法zune的调用,但是到目前为止,我还没有遇到很多运气。 我是这种开发的新手-模仿硬件设备,并且在导入用C / C ++编写的dll方面经验不是很丰富。我正在使用Visual Studio 2010(.net 4.0)开发我的应用程序,对于任何人可以向我提供的模仿硬件的帮助,我将不胜感激。我确实有设备驱动程序,Visual Studio拒绝直接引用该设备驱动程序。我也有一个实际的物理设备,因此我可以看到它在设备管理器中使用的驱动程序。 目标如下 应用程序将自己注册为USB设备,以类似于Virtual Clone Drive模仿DVD播放器的方式模仿Microsoft Zune。 zune客户端将应用程序识别为有效的Microsoft zune。 Zune软件与应用程序一起使用,就像处理硬件设备一样(同步等)     
已邀请:
您是否可以用自己的DLL替换zune客户端软件使用的DLL?在这种情况下,您可以将原始DLL与DLL包裹在一起并拦截操作。 更新:要查找DLL中功能的签名,请查看Dependency Walker工具,该工具将列出导出的功能(以及许多其他信息)。我猜您将要用C编写替换DLL。 否则,您将必须编写驱动程序,以使用正确的端点注册USB设备。我不确定如何在Windows上执行此操作-我只在固件方面完成了USB编码,而不在驱动程序方面完成了USB编码。您应该能够使用任何教程来创建Windows USB驱动程序,例如USB驱动程序开发入门。 Zune详细信息可能也很有用。也许这篇博客文章及其续篇可能会有所帮助:Zune / USB协议内部:第1部分     
我刚刚找到了一个称为“设备仿真框架”的东西,它可能正是您所需要的。不过,仍然需要对USB如何工作来完成您的解决方案进行大量研究。而且可能仍然通常使用C或C ++完成。 Zune使用称为MTPZ的MTP协议的修改版本,但我发现该示例使用Device Simulation Framework来模拟常规MTP设备。它称为MTP设备模拟器。我不知道源代码是否可用。     

要回复问题请先登录注册