DSF使用COM自动化对象将DSF服务暴露给设备模拟器。您可以从任何具有COM客户端能力的语言访问这些对象。几乎所有对象都公开了只使用OLE自动化兼容数据类型的双接口。

返回对象的COM方法和属性总是将它们作为指向在MIDL生成的头文件中定义的对象同类类型的指针返回。C++客户端必须将返回的指针转换为对象的默认双接口类型。这种转换有助于保持与脚本语言的兼容性,脚本语言不区分对象上的多个接口,并且只允许通过其默认的双重接口访问对象。

除了单独的对象之外,DSF还定义了许多对象集合。这些集合都是支持Add、Remove和Clear方法以及Item和Count属性的标准OLE自动化集合。

所有集合支持枚举的_NewEnum属性(例如:通过使用VBScript For/Each 语法)。_NewEnum在支持IEnumVARIANT接口的枚举器对象上返回IUnknown。IEnumVARIANT::Next 方法返回VARIANT值和VT_DISPATCH 类型,该类型包含集合项上的IDispatch接口。

集合索引是可能包含整数或任意字符串的VARIANT值。Add方法接受一个可选的索引参数,当未指定时,该参数接收使用基于零的序数(即,调用Add方法之前集合的Count属性的值)的默认值。除了标准方法和属性之外,集合还支持Lock和Unlock方法,这些方法可以暂时防止来自其他线程对集合的更改。调用方只能在集合被锁定时使用计数和项属性。

创建于: 9/21/2010

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

USB设备仿真框架设计指南——4.DSF中的COM对象相关推荐

  1. USB设备仿真框架设计指南——11.在托管代码中开发DSF应用程序

    在DSF COM对象的托管代码中开发DSF测试应用程序有多种方法.对于托管代码与COM对象进行通信,必须将COM类型导入到COM类包装器中. 您可以使用以下任何方法创建COM类包装器: 通过类型库导入 ...

  2. USB设备仿真框架设计指南——7.USB设备模拟器示例

    本节描述DSF中包含的USB设备模拟器示例. 本节包括以下内容: DSF USB HID通用样本 DSF USB Loopback设备仿真 DSF USB音频设备示例 USB键盘样本 英文原文连接:h ...

  3. linux pcie驱动框架_Linux设备驱动框架设计

    引子 Linux操作系统的一大优势就是支持数以万计的芯片设备,大大小小的芯片厂商工程师都在积极地向Linux kernel提交设备驱动代码.能让这个目标得以实现,这背后隐藏着一个看不见的技术优势:Li ...

  4. USB设备的电源设计考虑

    USB设备的电源设计考虑 作者:duoduo 在USB接口有四根线,分别是VBUS,D-,D+,GND.其中VBUS线是HOST/HUB向USB设备供电的电源线.HOST/HUB每个端口通过VBUS提 ...

  5. 苹果设备蓝牙接入设计指南

    本文介绍了针对硬件通过蓝牙传输来与苹果产品包括Mac,iPhone和iPod touch等交互的设计指南.为了能够与苹果产品兼容,现在和未来的设计当中,蓝牙计入都应该遵循本文中的规范.本文主要分为两个 ...

  6. [蓝牙]苹果设备蓝牙接入设计指南 - xp19870106

    本文介绍了针对硬件通过蓝牙传输来与苹果产品包括Mac,iPhone和iPod touch等交互的设计指南.为了能够与苹果产品兼容,现在和未来的设计当中,蓝牙计入都应该遵循本文中的规范.本文主要分为两个 ...

  7. 【OMNET+Veins+SUMO】【视频】车联网仿真框架搭建指南

    1.简介 针对车联网方向的研究方向的童鞋,在OMNET搭建基本的仿真平台,需要安装两个插件Veins和SUMO.仿真软件OMNET的基本安装和使用本文不多赘述,前面的博文有介绍.下面重点说明一下Vei ...

  8. 《框架设计指南》:属性变更通知事件

    详细的告诉我c#中,属性 get和set的作用 在 C# 中,属性是一种特殊的类成员,它们将类字段公开为类的外部.属性中的 `get` 和 `set` 访问器定义了对该属性进行读取和写入时执行的代码. ...

  9. python接口测试框架设计_Python3简易接口自动化测试框架设计与实现(中)

    7.Excel数据读取 用例是放在Excel中的,用xlrd来读取数据,写数据需要用到xluntils,先安装: pip install xlrd pip install xluntils 7.1.读 ...

最新文章

  1. Technavio:大数据即服务将迎快速增长期
  2. 微软将发布5月安全漏洞补丁 修补PPT
  3. WebService 学习之路(一):了解并使用webService
  4. 零基础入门人工智能有门槛吗?学会这些就够了
  5. redis.mecmcached和mongoDB的区别
  6. 福禄克网络电缆测试仪LinkIQ网络电缆测试仪的使用方法
  7. java封装对象数组_java解析JSON对象和封装对象的示例
  8. 命令行小白执行第三步时出错,具体情况如下: D:\Documents and Settings\Ow...
  9. Oracle创建约束语句,约束 comment 创建语句
  10. 12/27复习有感--整环的整除性
  11. xp下安装什么linux系统版本,windows xp sp3下怎么安装linux系统?
  12. 笔记本计算机的连接无线网络连接,计算机无法连接到无线网络,我将详细教您解决笔记本电脑无法连接到无线网络...
  13. 万字详解 Docker 镜像详细操作
  14. Gerber 格式详解
  15. 计算机C语言二级操作题之编程题
  16. js 实现统计网站访问量
  17. Python哪些基础知识必学?
  18. 用ExtentReports美化你的测试报告
  19. 成都大数据语言培训:如何提高数据分析能力
  20. 虚拟机显示网络不可用

热门文章

  1. [转载]命令行也强大之下载迅雷资源的方法
  2. 微信支付 公众号关联商户号
  3. git报错error: index uses extension, fatal: index file corrupt
  4. 数字电路——余3循环码
  5. ROS中的roslaunch命令和launch文件(ROS入门学习笔记四)
  6. 【NLP相关】一些实用的NLP开源项目
  7. 老子研究文献知识发现数据竞赛
  8. Dell 笔记本电脑BIOS详细解读
  9. 静态路由基础,扩展配置 超详细滴
  10. 树莓派驱动水星无线网卡(MW150UH)教程指南