书籍详情
深入解析ATL
作者:(美)Brent Rector,(美)Chris Sells著;潘爱民,新语译;潘爱民译
出版社:中国电力出版社
出版时间:2001-10-01
ISBN:9787508307312
定价:¥69.00
内容简介
ATL是专门用于开发COM组件的模板库,当前的最新版本是ATL 3.0(随Visual C++ 6.0发布),尽管它已经有将近5年的历史了,但是在国内ATL并没有被普及开来,我想原因有多个方面。第一,ATL涉及到的技术比较复杂,首先它是用来开发COM组件的,而COM本身比较偏于底层,从而导致ATL的背景要复杂得多;其次ATL是建立在C++的模板(template)语法基础上的,所以要想掌握ATL,必须具备比较好的C++基础,而这一点并不是很容易就能做到的。第二,ATL的参考资料很少,虽然ATL的源码是完全开放的,但是源码背后隐藏着许多概念和思想,这些概念和思想并不是直接体现出来的,好的资料源可以帮助我们抓住这些要点,并用好ATL。毫无疑问,本书是最好的ATL参考资料。本书不是一本讲述如何使用ATL的向导指南,它并不是简单地教您如何利用ATL中的模板类实现COM应用。相反,本书深入地讲解了ATL中模板类的结构、ATL如何实现COM的各种功能,并且也向您展示了ATL中大量的技巧,同时还指出了当前ATL中存在的一些错误和缺陷。虽然本书介绍的技术有相当的深度,但是作者的语言非常简练、表达清晰、结构安排也非常合理,所以全书读起来并不艰涩。
作者简介
BrentRector:WiseOwl咨询公司的总裁,该公司专门从事Windows/COM的开发和咨询。他也为DevelopMentor讲授COM、ATL和MTS课程。他以前的著作有《Win32Programming》、《DevelopingWindows3ApplicationwithMicrosoftSDK》和《DevelopingWindows3.1ApplicationswhihMicrosoftC/C++》。由于他在CompuServe的Windows论坛上的杰出贡献,他获得了Microsoft的年度MVP奖。
目录
译序
ATL之深入解析
英文版原序
前言
第1章 你好, ATL
1. 1 什么是ATL?
1. 2 创建COM服务器
1. 3 插入一个COM类
1. 4 加入属性和方法
1. 5 实现其他接口
1. 6 支持脚本
1. 7 添加永久性
1. 8 添加和激发事件
1. 9 使用窗口
1. 10 实现组件类别
1. 11 添加用户界面
1. 12 容纳控制
1. 13 总结
第2章 ATL智能类型
2. 1 字符串数据类型. 转换宏和辅助函数
2. 2 COM字符串数据类型——BSTR
2. 3 CComBSTR类
2. 4 智能VARIANT类ComVariant
2. 5 CComPtr. CComQIPtr和CComDispatchDriver智能指针类
2. 6 总结
第3章 ATL中的对象
3. 1 回顾COM套间
3. 2 ATL的层次
3. 3 线程模型支持
3. 4 IUnknown的核心
3. 5 我们的类
3. 6 CComObject及其他
3. 7 ATL创建者
3. 8 调试
3. 9 总结
第4章 CoM服务器
4. 1 回顾COM服务器
4. 2 对象映射表和CComModule类
4. 3 对象映射表
4. 4 对象映射类要求的方法
4. 5 CComModule类
4. 6 重游CComCoClass
4. 7 服务器优化编译选项
4. 8 总结
第5章 接口映射表
5. 1 回顾:COM的实体身份
5. 2 表驱动的QueryInterface
5. 3 多重继承
5. 4 tear—off接口
5. 5 聚合:外部控制对象
5. 6 接口映射表的技巧
5. 7 总结
第6章 ATL中的永久性
6. 1 回顾COM的永久性
6. 2 ATL永久实现类
6. 3 属性映射表
6. 4 永久实现
6. 5 其他永久实现
6. 6 使用永久功能加入“按值列集”的语义
6. 7 总结
第7章 集合和枚举器
7. 1 COM集合和枚举接口
7. 2 枚举数组
7. 3 枚举STL集合
7. 4 集合
7. 5 ATL数据类型的STL集合
7. 6 简单集合
7. 7 对象模型
7. 1 总结
第8章 连接点
8. 1 回顾连接点
8. 2 创建基于ATL的可连接对象
8. 3 创建一个接收事件的对象
8. 4 这一切是如何工作的:零散的实现细节
8. 5 总结
第9章 窗口
9. 1 Windows应用程序的结构
9. 2 CWindow
9. 3 CWindowImpl
9. 4 CDialogImpl
9. 5 Windows控制包装类
9. 6 CContainedWindow
9. 7 总结
第10章 ActiveX控制
10. 1 回顾ActiveX控制
10. 2 BullsEye控制的需求
10. 3 利用ATL向导创建初始的控制
10. 4 初始的BullsEye源文件
10. 5 循序渐进地开发BullsEye控制
10. 6 总结
第11章 控制包容
11. 1 控制是如何被包含的
11. 2 基本的控制容器
11. 3 在对话框中容纳一个控制
11. 4 复合控制
11. 5 HTML控制
11. 6 ATL控制包容的局限
11. 7 总结
附录A 用例子解析C++模板
A. 1 对模板的需求
A. 2 模板基础
A. 3 另一种多态性
A. 4 函数模板
A. 5 成员函数模板
A. 6 总结
附录B ATL类和头文件
ATL之深入解析
英文版原序
前言
第1章 你好, ATL
1. 1 什么是ATL?
1. 2 创建COM服务器
1. 3 插入一个COM类
1. 4 加入属性和方法
1. 5 实现其他接口
1. 6 支持脚本
1. 7 添加永久性
1. 8 添加和激发事件
1. 9 使用窗口
1. 10 实现组件类别
1. 11 添加用户界面
1. 12 容纳控制
1. 13 总结
第2章 ATL智能类型
2. 1 字符串数据类型. 转换宏和辅助函数
2. 2 COM字符串数据类型——BSTR
2. 3 CComBSTR类
2. 4 智能VARIANT类ComVariant
2. 5 CComPtr. CComQIPtr和CComDispatchDriver智能指针类
2. 6 总结
第3章 ATL中的对象
3. 1 回顾COM套间
3. 2 ATL的层次
3. 3 线程模型支持
3. 4 IUnknown的核心
3. 5 我们的类
3. 6 CComObject及其他
3. 7 ATL创建者
3. 8 调试
3. 9 总结
第4章 CoM服务器
4. 1 回顾COM服务器
4. 2 对象映射表和CComModule类
4. 3 对象映射表
4. 4 对象映射类要求的方法
4. 5 CComModule类
4. 6 重游CComCoClass
4. 7 服务器优化编译选项
4. 8 总结
第5章 接口映射表
5. 1 回顾:COM的实体身份
5. 2 表驱动的QueryInterface
5. 3 多重继承
5. 4 tear—off接口
5. 5 聚合:外部控制对象
5. 6 接口映射表的技巧
5. 7 总结
第6章 ATL中的永久性
6. 1 回顾COM的永久性
6. 2 ATL永久实现类
6. 3 属性映射表
6. 4 永久实现
6. 5 其他永久实现
6. 6 使用永久功能加入“按值列集”的语义
6. 7 总结
第7章 集合和枚举器
7. 1 COM集合和枚举接口
7. 2 枚举数组
7. 3 枚举STL集合
7. 4 集合
7. 5 ATL数据类型的STL集合
7. 6 简单集合
7. 7 对象模型
7. 1 总结
第8章 连接点
8. 1 回顾连接点
8. 2 创建基于ATL的可连接对象
8. 3 创建一个接收事件的对象
8. 4 这一切是如何工作的:零散的实现细节
8. 5 总结
第9章 窗口
9. 1 Windows应用程序的结构
9. 2 CWindow
9. 3 CWindowImpl
9. 4 CDialogImpl
9. 5 Windows控制包装类
9. 6 CContainedWindow
9. 7 总结
第10章 ActiveX控制
10. 1 回顾ActiveX控制
10. 2 BullsEye控制的需求
10. 3 利用ATL向导创建初始的控制
10. 4 初始的BullsEye源文件
10. 5 循序渐进地开发BullsEye控制
10. 6 总结
第11章 控制包容
11. 1 控制是如何被包含的
11. 2 基本的控制容器
11. 3 在对话框中容纳一个控制
11. 4 复合控制
11. 5 HTML控制
11. 6 ATL控制包容的局限
11. 7 总结
附录A 用例子解析C++模板
A. 1 对模板的需求
A. 2 模板基础
A. 3 另一种多态性
A. 4 函数模板
A. 5 成员函数模板
A. 6 总结
附录B ATL类和头文件
猜您喜欢