书籍详情

深入解析ATL

深入解析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类和头文件                  

猜您喜欢

读书导航