《深入解析ATL 第2版》PDF下载

  • 购买积分:23 如何计算积分?
  • 作  者:(美)Christopher Tavares,Kirk Fertitta,Brent Rector等著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2007
  • ISBN:9787121049859
  • 页数:858 页
图书介绍:本书主要介绍了ATL技术的原理、内部实现和应用技巧,由四位顶尖的Windows技术专家联合撰写。全书内容丰富,深入浅出,主要涵盖了ATL内部架构和实现方法、运用向导简化ATL开发、C++/COM/ATL中字符串的使用技巧、理解并正确实现IUnknown、充分利用ATL提供的Smart Types、撰写能够暴露COM服务器上COM对象的粘合代码、利用Canned Interface实现来支持对象持久化/COM群集/枚举、利用ATL Windows类建构独立的应用程序和UI组件等的技术内容。本书适合于广大Windows开发人员阅读参考,是ATL开发人员的必备权威参考书籍。

第1章 你好,ATL 1

1.1 什么是ATL 1

1.2 创建COM服务器 2

1.3 插入COM类 6

1.4 添加属性和方法 12

1.5 实现附加接口 15

1.6 脚本支持 18

1.7 添加永久性 19

1.8 添加和激发事件 21

1.9 使用窗口 23

1.10 COM控件 26

1.11 容纳控件 28

1.12 ATL Server Web项目 32

1.13 总结 42

第2章 字符串和文本 43

2.1 字符串数据类型、转换类和辅助函数 43

2.2 智能BSTR类CComBSTR 56

2.3 CComBSTR类 57

2.4 CString类 75

2.5 总结 97

第3章 ATL智能类型 99

3.1 智能VARIANT类CComVariant 99

3.2 智能SAFEARRAY类CComSafeArray 114

3.3 智能指针类CComPtr和CComQIPtr 137

3.4 智能指针类CAutoPtr和CAutoVectorPtr 160

3.5 ATL内存管理器 167

3.6 总结 174

第4章 ATL中的对象 175

4.1 实现IUnknown 175

4.2 ATL的层次 177

4.3 线程模型支持 179

4.4 IUnknow核心 190

4.5 我们的类 199

4.6 CComObject以及其他 205

4.7 ATL创建者 220

4.8 调试 235

4.9 总结 242

第5章 COM服务器 243

5.1 回顾COM服务器 243

5.2 对象映射表和CAtlModule类 245

5.3 对象映射表 246

5.4 对象映射类要求的方法 252

5.5 CAtlModule类 287

5.6 重游CComCoClass 293

5.7 ATL与C运行时库 296

5.8 总结 298

第6章 接口映射表 299

6.1 回顾:COM的实体身份 299

6.2 表驱动的QueryInterface 301

6.3 多重继承 308

6.4 Tear-off接口 319

6.5 聚合:外部控制对象 328

6.6 接口映射表链 337

6.7 尽管说“不” 338

6.8 调试 339

6.9 扩展性 340

6.10 总结 344

第7章 ATL中的永久性 345

7.1 回顾COM的永久性 345

7.2 ATL的永久性实现类 355

7.3 属性映射表 356

7.4 永久性实现 358

7.5 其他永久性实现 372

7.6 使用永久性添加“按值列集”的语义 376

7.7 总结 379

第8章 集合和枚举器 381

8.1 COM集合和枚举接口 381

8.2 枚举数组 394

8.3 枚举标准的C++集合 405

8.4 集合 416

8.5 ATL数据类型的标准C++集合 421

8.6 ATL集合 427

8.7 对象模型 435

8.8 总结 440

第9章 连接点 441

9.1 回顾连接点 441

9.2 创建基于ATL的可连接对象 445

9.3 创建一个接收事件的对象 457

9.4 它是怎么工作的:杂乱的实现细节 468

9.5 总结 488

第10章 窗口 489

10.1 Windows应用程序的结构 489

10.2 CWindow 492

10.3 CWindowImpl 498

10.4 CDialogImpl 542

10.5 Windows控件包装类 553

10.6 CContainedWindow 559

10.7 总结 565

第11章 ActiveX控件 567

11.1 回顾ActiveX控件 567

11.2 BullsEye控件需求 569

11.3 使用ATL向导创建初始的控件 577

11.4 初始的BullsEye源文件 583

11.5 逐步开发BullsEye控件 589

11.6 总结 630

第12章 控件包容 631

12.1 控件是如何被包容的 631

12.2 基本的控件包容 632

12.3 在对话框中容纳控件 670

12.4 复合控件 679

12.5 HTML控件 683

12.6 ATL控件包容的限制 695

12.7 总结 696

第13章 你好,ATL Server:一个新型的C++ Web平台 699

13.1 微软Web平台(因特网信息服务) 699

13.2 可能是可以运行的最简单ISAPI扩展 702

13.3 封装ISAPI 709

13.4 ATL Server 717

13.5 ATL Server中的Web服务 730

13.6 总结 737

第14章 ATL Server内幕 739

14.1 ATL Server中的ISAPI实现 739

14.2 服务器响应文件 748

14.3 请求处理程序示例 755

14.4 输入处理 758

14.5 会话管理 777

14.6 数据缓存 783

14.7 总结 786

附录A 实例展示C++模板 787

A.1 模板的必要性 787

A.2 模板基础 789

A.3 不同类型的多态 791

A.4 函数模板 796

A.5 成员函数模板 797

A.6 总结 798

附录B ATL头文件 799

附录C 移植到ATL 8 803

C.1 字符串、字符集和转换 803

C.2 与MFC共享的类 806

C.3 实现COM服务器 807

C.4 ActiveX控件和控件容纳 813

C.5 ATL_MIN_CRT变化 813

C.6 总结 814

附录D 属性化ATL 815

D.1 ATL Attributes的基础 815

D.2 属性化ATL的未来 824

D.3 总结 825

索引 827