微软USB设备仿真框架(DSF)的学习
微软Device Simulation Framework for USB Devices技术翻译、学习、交流;该技术可实现虚拟USB设备,操作系统分辨不出虚拟的USB设备和真实USB设备之间的差异
SabreWulf2020
专注工业自动化非标自动化软件开发,使用C#,HALCON,VB6,MCGS等开发工具。
展开
-
设备仿真框架用户指南和设备仿真框架参考
设备仿真框架用户指南原文链接:https://docs.microsoft.com/zh-cn/previous-versions/windows/hardware/dsf/ff538304(v%3dvs.85)设备仿真框架参考原文链接:https://docs.microsoft.com/zh-cn/previous-versions/windows/hardware/dsf/ff5...翻译 2018-11-06 23:00:45 · 616 阅读 · 0 评论 -
USB设备仿真框架设计指南——12.使用VisualStudio开发64位DSF应用程序
Visual Studio 2005或VisualStudio 2008没有本地64位版本。Visual Studio是一个32位应用程序,可以在x64操作系统上运行,并且支持64位应用程序的开发和调试。在使用托管库在Visual Studio中开发DSF应用程序时,需要从资源中的COM选项卡引用DSF对象库。但是,如果Visual Studio在基于x64的平台上运行,则DSF对象库不可用,因为...翻译 2018-11-06 22:55:35 · 592 阅读 · 0 评论 -
USB设备仿真框架设计指南——11.在托管代码中开发DSF应用程序
在DSF COM对象的托管代码中开发DSF测试应用程序有多种方法。对于托管代码与COM对象进行通信,必须将COM类型导入到COM类包装器中。您可以使用以下任何方法创建COM类包装器:通过类型库导入器自己创建COM类包装器。类型库导入器(Tlbimp.exe) 将COM类型库(.tlb)文件中找到的类型定义转换为公共语言运行时程序集中的等效定义。Tlbimp.exe的输出是一个二进制文件(...翻译 2018-11-06 22:49:21 · 413 阅读 · 0 评论 -
USB设备仿真框架设计指南——10.用USB设备模拟器测试USB驱动程序
本节讨论使用DSF设备模拟器测试USB驱动程序的技术。本节包括:创建一个模拟USB 2.0 EHCI控制器在模拟USB 2.0控制器中插入设备模拟设备PNP枚举用设备模拟器协调I/O在计算机上重启模拟设备使用设备仿真的测试策略创建一个模拟USB 2.0 EHCI控制器在将模拟设备插入模拟USB 2.0控制器之前,必须在目标系统上创建和枚举控制器。若要创建并枚举控...翻译 2018-11-06 22:03:39 · 4399 阅读 · 0 评论 -
USB设备仿真框架设计指南——9.部署USB设备模拟器
要部署设备模拟器,必须在目标机上安装以下内容:设备模拟器的可执行文件。 使用设备模拟器的测试应用程序。 DSF运行时。要在目标计算机上部署DSF运行时,请从Microsoft Windows Driver Kit(WDK)安装磁盘上的dsf目录运行Dsfx86runtime.msi或Dsfx64runtime.msi。如果您在没有任何参数的情况下运行这些 .msi文件,您将收到选项的提示...翻译 2018-11-06 20:31:56 · 993 阅读 · 0 评论 -
USB设备仿真框架设计指南——8.USB设备模拟器的设计
当你设计一个USB设备模拟器时,你应该考虑下面的设计选择:封装和编程语言(例如,DLL、EXE或组件对象) USB设备配置 轮询或事件驱动的数据处理 测试应用接口下面的主题详细地阐述了这些考虑中的每一个:模拟器封装配置SoftUSBDevice对象配置接口端点设备限定描述符字符串设备、类和特定于供应商的描述符处理标准设备请求事件驱动与轮询仿真...翻译 2018-10-06 00:47:29 · 1355 阅读 · 0 评论 -
USB设备仿真框架设计指南——7.USB设备模拟器示例
本节描述DSF中包含的USB设备模拟器示例。本节包括以下内容:DSF USB HID通用样本DSF USB Loopback设备仿真DSF USB音频设备示例USB键盘样本英文原文连接:https://docs.microsoft.com/zh-cn/previous-versions/windows/hardware/dsf/ff542300(v%3dvs.85)DSF...翻译 2018-10-02 15:28:56 · 2237 阅读 · 0 评论 -
USB设备仿真框架设计指南——6.DSF核心模拟器
本节描述DSF中包含的核心模拟器。本节包括以下主题:DSF USB 2.0总线模拟器(SoftEHCI)DSF USB设备模拟器(SoftUSBDevice)DSF USB外部集线器模拟器(SoftUSBHub)DSF HID协议转换器(SoftHIDProtocolXlator)向微软发送有关此主题的评论创建日期:2010/9/21英文原文连接:https://d...翻译 2018-09-29 14:00:39 · 780 阅读 · 0 评论 -
USB设备仿真框架设计指南——5.DSF对象模型
DSF对所有模拟设备(包括USB设备)使用与设备无关的对象模型。下面的图表显示了DSF对象模型。 DSF对象模型的图解DSF对象(IDSF)充当层次结构的根,并提...翻译 2018-09-22 21:44:53 · 553 阅读 · 0 评论 -
USB设备仿真框架设计指南——4.DSF中的COM对象
DSF使用COM自动化对象将DSF服务暴露给设备模拟器。您可以从任何具有COM客户端能力的语言访问这些对象。几乎所有对象都公开了只使用OLE自动化兼容数据类型的双接口。返回对象的COM方法和属性总是将它们作为指向在MIDL生成的头文件中定义的对象同类类型的指针返回。C++客户端必须将返回的指针转换为对象的默认双接口类型。这种转换有助于保持与脚本语言的兼容性,脚本语言不区分对象上的多个接口,并且...翻译 2018-09-22 20:20:10 · 559 阅读 · 0 评论 -
USB设备仿真框架设计指南——3-总线模拟器和设备模拟器
DSF在总线模拟器和设备模拟器之间进行区分。总线模拟器,如EHCI控制器模拟器,是由微软开发的标准硬件接口。这些模拟器是内核模式模块,它们从目标驱动程序堆栈的最低层中截取硬件访问代码。总线模拟器暴露连接到总线的设备模拟器的COM接口。设备模拟器由DSF提供的COM对象、称为协议转换器的可选设备类对象、和用户模式编写的设备类特定模块组成,这些对象实现仿真的设备类独立部分。 创建日期: 9...翻译 2018-09-22 19:46:57 · 477 阅读 · 0 评论 -
USB设备仿真框架设计指南——2.DSF体系结构
DSF编程环境由实现USB设备模拟器的各种组件的一组COM对象、一组运行时服务和USB 2.0EHCI控制器模拟器组成。EHCI控制器模拟器被实现为EHCI迷你端口(Usbehci_dsf.sys)的DSF特定版本上的较低设备过滤器。EHCI小端口的DSF版本与控制器模拟器通信,就好像它是真正的硬件一样。控制器模拟器拦截寄存器和直接存储器存取(DMA)访问,并生成模拟硬件中断。USB设备模...翻译 2018-09-22 19:42:44 · 983 阅读 · 0 评论 -
USB设备仿真框架设计指南——1.DSF的必备知识
要用设备仿真框架(DSF)开发USB设备模拟器,您应该熟悉:USB 2规范。 通用串行总线增强型主机控制器接口(EHCI)规范。 组件对象模型(COM)。 至少一个COM客户端可编程语言。 创建日期:9/21/ 2010 英文原文连接:https://docs.microsoft.com/en-us/previous-versions/windows/hardware/ds...翻译 2018-09-22 19:24:01 · 739 阅读 · 0 评论 -
USB设备仿真框架设计指南
注:DSF架构虚拟出的USB设备在操作系统层面上与物理设备没有区别,可以代替物理设备进行驱动或者应用程序的开发与测试。用DSF架构开发Windows平台虚拟USB设备还是非常方便的,由于网上相关中文资料匮乏,特翻译微软官网的相关设计文档和用户文档,以供自己以后翻查方便。由于英文水平有限,采取百度机器翻译+个人理解修正的方式翻译,其中有很多地方翻译不好的地方,希望朋友们积极指正。您可以使用设备仿...翻译 2018-09-22 19:18:47 · 1017 阅读 · 9 评论