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

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)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值