USB设备仿真框架设计指南——5.DSF对象模型

DSF对所有模拟设备(包括USB设备)使用与设备无关的对象模型。下面的图表显示了DSF对象模型。

                                        

                                                                          DSF对象模型的图解

DSF对象(IDSF)充当层次结构的根,并提供对模拟设备树和其他服务(如日志记录和版本信息)的访问。DSFDevice对象(IDSFDevice)表示模拟设备,包括诸如EHCI控制器模拟器的PCI设备或诸如键盘模拟器的USB设备。DSFDevice对象具有名为Object的参数化属性,设备模拟器使用该属性来公开特定于设备的辅助对象。DSFDevice::Object由GUID参数化并且是读写,因此测试应用程序可以将它们自己的上下文特定对象与模拟设备相关联。在DSF的这个版本中,测试应用程序可以在DSFDevice中存储的唯一DSFDevice::Object是DSFPropertyBag(IDSFPropertyBag)。DSFPropertyBag是一个“名称—值”对的集合,其中的值被存储为一个VARIANT值。此值允许测试应用程序根据需要存储任意信息。例如,下面的VBScript代码示例显示了一个测试应用程序的代码,该测试应用程序需要将当前运行的测试的名称存储在DSFDATA对象中。

Const MyTestContextGUID = "{55302845-80EB-49DF-8832-3401E39569B8}"
Set PropBag = CreateObject("DSF.DSFPropertyBag")
PropBag.Write "CurrentTestName", "Test22"
Set DSFDevice.Object(MyTestContextGUID) = PropBag

CurrentTestName是测试应用程序为保存当前测试名称的值选择的名称。该值的数据设置为“Test22”,然后属性包存储在DSF设备对象中。有关DSFPropertyBag对象的更多信息,请参见IDSFPropertyBag

可以将DSFDevice对象分组在称为DSFDevices(DSFDevices)的集合中。模拟设备树的根是从DSF::Devices属性引用的DSFDevices集合。如果设备是总线(例如EHCI控制器模拟器),则它将具有表示连接到总线的设备的子DSFDevice对象。子DSFDevices集合由DSFDevice::Children属性引用。

创建于:9/21/2010

英文原文连接:https://docs.microsoft.com/en-us/previous-versions/windows/hardware/dsf/ff538327(v%3dvs.85)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值