Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2086723
  • 博文数量: 909
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 12260
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-06 20:50
文章分类

全部博文(909)

文章存档

2008年(909)

我的朋友

分类:

2008-05-06 21:22:16

一起学习
用ATL建立轻量级的COM对象

第五部分

作者:赵湘宁

第一部分:为什么要使用ATL。
第二部分:起步篇。
第三部分:实现IUnknown。
第四部分:实现接口。

不要过分抽象

ATL最不直观的一个方面是你所定义和实现的C 类仍然是抽象基类。没错,在ATL的模板类和宏上辛苦了半天,却仍然得不到一个可以实例化的类。即使你从 CComObjectRootEx 派生,其结果同从一个或更多的ATL接口实现继承一样。从技术上讲,你的对象不提供 IUnknown 三个核心方法(QueryInterface,AddRef 和 Release)的实现。如果你检查现有ATL之前的 COM 实现,如果不是全部,那么也是大多数的方法实现并不在乎这个类是不是被用于COM聚合或tear-off,是不是被用于独立的对象或一个包含在内的数据成员,是不是要作为基于堆的对象或作为全局变量,以及是不是对象存在时,一直要保持服务器运行。为了允许最大限度的灵活性,所有这些方面分别通过ATL家族中的十个类属的 CComObject 之一来说明。参见下表:

类名 下载本文示例代码


用ATL建立轻量级的COM对象用ATL建立轻量级的COM对象用ATL建立轻量级的COM对象用ATL建立轻量级的COM对象用ATL建立轻量级的COM对象用ATL建立轻量级的COM对象用ATL建立轻量级的COM对象用ATL建立轻量级的COM对象用ATL建立轻量级的COM对象用ATL建立轻量级的COM对象用ATL建立轻量级的COM对象用ATL建立轻量级的COM对象
阅读(171) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~