没有合适的资源?快使用搜索试试~ 我知道了~
com_ptr_t 的解析
5星 · 超过95%的资源 需积分: 50 21 下载量 8 浏览量
2010-12-05
17:50:24
上传
评论
收藏 47KB DOC 举报
温馨提示
试读
5页
com组件的使用一般以智能型指针为主,本文主要分析 智能型指针_com_ptr_t 的机制和使用
资源推荐
资源详情
资源评论
_com_ptr_t 的分析
_com_ptr_t 的理解
TLB 文件是一个为跨平台的二进制文件,IDL 文件是一个描述接口定义的
文本文件,通过 IDL 文件,用户可以得知你的 DLL 文件中的 COM 接口,以及
常量等的信息,这样一来用户才知道你的 DLL 中有什么接口与常量等,用户才
能用你的接口。
在使用#import 引入一个 com 组件的时候,会自动生成.tlh 和.tli 两个文件,
这个两个文件是对 com 类的封装,tlh 是标准头文件,里面为每个组件类定义了
一个_com_ptr_t 类型的智能指针,tli 里面是代码文件,里面是对 COM 组件类的
成员的封装,具体可以自己 import 一个 msado15.dll 看一下。
在使用#import 引入一个 com 组件的时候,会自动生成.tlh 和.tli 两个文件,
这个两个文件是对 com 类的封装,tlh 是标准头文件,里面为每个组件类定义了
一个_com_ptr_t 类型的智能指针,tli 里面是代码文件,里面是对 COM 组件类的
成员的封装,具体可以 import 一个 msado15.dll 看一下。
TLB 常常会包含以下这个功能:
智慧型指针声明:模板類別 _com_ptr_t 屬於一個智慧型指针,
1、該類別封裝了介面指针並排除呼叫 AddRef, Release, QueryInterface 等繁
瑣的步驟。
2、另外也隱藏了 CoCreateInstance 建立一個新的 COM 物件的呼叫。
這個部分使用 _COM_SMARTPTR_TYPEDEF 來產生特異化(Specialization)
版本的_com_ptr_t 類別。例如:
_COM_SMARTPTR_TYPEDEF ( IMyInterface, __uuidof(IMyInterface) );
編譯器會將上述的程式擴展成
typedef _com_ptr_t< _com_IIID <IMyInterface, __uuidof(IMyInterface)> >
资源评论
- wer81632013-10-22本文主要分析智能型指针_com_ptr_t 的机制和使用,太好了,谢谢分享!
- lyingivy2012-04-11不错,讲的很详细,内容很全面
- 路飞_粉2013-05-22不错,对于我这种新手来说不错
geo_man
- 粉丝: 6
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功