《COM技术内幕 微软组件对象模型》求取 ⇩

第一章组件1

1.1 使用组件的优点2

1.1.1 应用程序定制2

1.1.2 组件库3

1.1.3 分布式组件3

1.2 对组件的需求4

1.2.1 动态链接4

1.2.2 信息封装5

1.3 COM6

1.3.1 COM组件是7

1.3.2 COM不是7

1.3.5 COM超越了用户的需要8

1.3.4 COM方法8

1.3.3 COM库8

1.4 本章小结9

第2章接口11

2.1 接口的作用11

2.1.1 可复用应用程序架构12

2.1.2 COM接口的其他优点13

2.2 COM接口的实现13

2.2.1 编码约定14

2.2.2 一个完整的例子15

2.2.3 非接口通信18

2.2.4 实现细节18

2.3.1 接口的不变性20

2.3.2 多态20

2.3 接口理论:第二部分20

2.4 接口的背后21

2.4.1 虚拟函数表21

2.4.2 vtbl指针及实例数据23

2.4.3 多重实例24

2.4.4 不同的类,相同的vtbl24

2.5 本章小结26

第3章QueryInterface函数27

3.1 接口查询28

3.1.1 关于IUnknown28

3.1.2 IUnknown指针的获取29

3.1.3 关于QueryInterface29

3.1.4 QueryInterface的使用30

3.1.5 QueryInterface的实现31

3.1.6 关于类型转换32

3.1.7 一个完整的例子35

3.2 关于QueryInterface的实现规则40

3.2.1 同一个IUnknown40

3.2.2 客户可以获取曾经得到过的接口41

3.2.3 可以再次获取已经拥有的接口41

3.2.4 客户可以从任何接口返回到起始接口42

3.2.5 若能够从某接口获取某特定接口,则从任意接口都将能够获取此接口42

3.3 QueryInterface定义了组件43

3.3.1 接口集44

3.4 新版本组件的处理44

3.4.1 何时需要建立一个新版本46

3.4.2 不同版本接口的命名46

3.4.3 隐含合约46

3.5 本章小结47

第4章 引用计数48

4.1生命期控制48

4.2 引用计数简介49

4.2.1 引用计数接口52

4.2.2 AddRef和Release的实现53

4.3 可时进行引用计数60

4.3.1 引用计数的优化60

4.3.2 引用计数规则63

4.4 本章小结65

第5章动态链接66

5.1 组件的创建66

5.1.1 从DLL中输出函数67

5.1.2 DLL的装载69

5.2 客户和组件的划分71

5.2.1 程序清单72

5.3 对象串77

5.4 本章小结78

第6章关于HRESULT、GUID、注册表及其他细节79

6.1 HRESULT79

6.1.1 HRESULT值的查找81

6.1.2 HRESULT值的使用83

6.1.3 用户自己代码的定义84

6.2 GUID86

6.2.1 为什么要使用GUID86

6.2.2 GUID的声明和定义87

6.2.3 GUID的比较89

6.2.4 将GUID作为组件标识符89

6.3.2 注册表编辑器90

6.3.1 注册表的组织90

6.2.5 通过引用传递GUID值90

6.3 Windosw注册表90

6.3.3 CLSID关键字结构91

6.3.4 关于注册表的其他细节92

6.3.5 ProgID93

6.3.6 自注册95

6.3.7 组件类别96

6.3.8 OleView97

6.4 COM库函数98

6.4.1 COM库的初始化98

6.4.2 内存管理98

6.4.3 将字符串转化成GUID99

6.5 本章小结101

7.1 CoCreateInstance102

第7章类厂102

7.1.1 CoCreateInstance的声明103

7.1.2 CoCreateInstance的使用103

7.1.3 类上下文104

7.1.4 客户程序清单105

7.1.5 CoCreateInstance的不灵活性107

7.2 类厂107

7.2.1 CoGetClassObject107

7.2.2 ICLassFactory108

7.2.3 CoCreateInstance与CoGetClassObject的比较109

7.2.4 类厂的若干特性110

7.3 类厂的实现110

7.3.2 组件的创建过程111

7.3.1 DIIGetClassObject的使用111

7.3.3 组件代码清单112

7.3.4 流程控制119

7.3.5 组件的注册120

7.4 同一DLL中的多个组件121

7.4.1 类厂实现的复用122

7.5 DLL的卸载123

7.5.1 DIICanUnloaiINow的使用123

7.5.2 LockServer123

7.6 本章小结124

第8章组件复用:包容与聚合125

8.1 包容和聚合126

8.1.1 包容简介126

8.1.3 包容与聚合的比较127

8.1.2 聚合简介127

8.2 包容的实现128

8.2.1 接口扩展131

8.3 聚合的实现132

8.3.1 QueryInterface的实现133

8.3.2 不正确的Iunknown135

8.3.3 聚合的未知接口136

8.3.4 内部组件的创建140

8.3.5 外部组件中指向内部组件接口的指针143

8.4 一个完整的例子145

8.4.1 盲目聚合161

8.5 现实世界中的聚合和包容163

8.5.1 组件的内部状态信息163

8.5.2 虚拟函数的模拟165

8.6 本章小结166

第9章编程工作的简化167

9.1 客户端的简化167

9.1.1 智能接口指针168

9.1.2 C ++包装类179

9.2 服务器端的简化180

9.2.1 未知接口基类181

9.2.2 类厂基类185

9.2.3 CUnknown和CFastory的使用191

9.2.4 集成步骤196

9.3 本章小结197

第10章EXE中的服务器198

10.1 不同的进程198

10.1.1. 本地过程调用199

10.1.2 调整200

10.1.3 代理/残根DLL200

10.2 IDL/MIDL简介202

10.2.1 关于IDL202

10.2.2 IDL接口描述举例203

10.2.3 MIDL编译器208

10.3 本地服务器的实现212

10.3.1 示例程序的运行212

10.3.2 去掉入口点函数213

10.3.3 类厂的启动213

10.3.4 对LockServer的修改217

10.4 远程访问能力219

10.4.1 DCOMCNFG.EXE所完成的工作220

10.4.2 工作机理221

10.4.3 其他DCOM信息222

10.5 本章小结224

第11章调度接口与自动化225

11.1 一种新的通信方式226

11.1.1 旧的通信方式226

11.1.2 IDispatch接口226

11.2 IDispatch的使用230

11.2.1 Invoke函数的参数232

11.2.2 示例237

11.2.3 VARIANT类型239

11.2.4 BSTR数据类型241

11.2.5 SAFEARRAY类型242

11.3 类型库243

11.3.1 类型库的创建243

11.3.2 类型库的使用246

11.3.3 注册表中的类型库247

11.4 IDispatch接口的实现248

11.4.1 异常的引发250

11.4.2 参数调整251

11.5 本章小结252

第12章多线程253

12.1 COM线程模型254

12.1.1 Win32线程254

12.1.2 COM线程254

12.1.3 套间255

12.1.4 套间线程257

12.1.5 自由线程258

12.1.6 调整与同步258

12.2 套间线程的实现260

12.2.1 自动调整261

12.2.2 手工调整261

12.2.3 编码262

12.2.4 对套间线程例子的说明263

12.3 自由线程的实现270

12.3.1 对自由线程例子的说明271

12.3.2 自由线程参数调整的优化276

12.4 关于线程模型的注册表关键字278

12.5 本章小结278

第13章一个完整的例子280

13.1 Tangram程序281

13.1.1 Tangram的运行281

13.1.3 客户程序282

13.1.2 所用的组件282

13.1.4 TangramModel组件283

13.1.5 TangramGdiVisual和TangramGLVisual组件284

13.1.6 TangramGdiWorld和TangramGLWorld组件285

13.2 展示286

13.3 IDL文件286

13.3.1 DLIDATA.C文件287

13.4 循环引用计数287

13.4.1 不调用AddRet288

13.4.2 使用显示终止288

13.4.3 使用一个单独的组件289

13.5 事件和连接点290

13.5.1 IEnumXXX292

13.6 本章小结293

结束语294

1999《COM技术内幕 微软组件对象模型》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由(美)(D.罗杰森)Dale Rogerson著;杨秀章译 1999 北京:清华大学出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

微型机常用通用软件(1992 PDF版)
微型机常用通用软件
1992 北京:电子工业出版社
MFC技术内幕( PDF版)
MFC技术内幕
微型计算机技术及应用 微型机软件硬件开发指南(1996 PDF版)
微型计算机技术及应用 微型机软件硬件开发指南
1996
软件技术基础(1994 PDF版)
软件技术基础
1994
WindowsTM95技术内幕(1995年06月第1版 PDF版)
WindowsTM95技术内幕
1995年06月第1版 清华大学出版社
微型机常用通用软件( PDF版)
微型机常用通用软件
十六位微型计算机  硬件软件及接口技术( PDF版)
十六位微型计算机 硬件软件及接口技术
计算机软件新技术  面向对象的系统分析(1992 PDF版)
计算机软件新技术 面向对象的系统分析
1992 北京:清华大学出版社
轿车故障快速诊治手法(1992 PDF版)
轿车故障快速诊治手法
1992 北京:机械工业出版社
微型机实时软件设计(1989 PDF版)
微型机实时软件设计
1989 北京:机械工业出版社
微型计算机软件技术(1988 PDF版)
微型计算机软件技术
1988 北京:冶金工业出版社
英汉对照微软标准软件术语  1996版(1996 PDF版)
英汉对照微软标准软件术语 1996版
1996 北京:清华大学出版社
微机流行软件屏幕汉译(1998 PDF版)
微机流行软件屏幕汉译
1998 北京:机械工业出版社
软件技术基础(1992 PDF版)
软件技术基础
1992 北京:机械工业出版社
单片微机软件设计技术(1988 PDF版)
单片微机软件设计技术
1988 北京:科学技术文献出版社;重庆分社