图书介绍
COM技术内幕:微软组件对象模型【下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线】

- (美)罗杰森(Rogerson 著
- 出版社: 清华大学出版社
- ISBN:
- 出版时间:1999
- 标注页数:301页
- 文件大小:36MB
- 文件页数:319页
- 主题词:
PDF下载
下载说明
COM技术内幕:微软组件对象模型PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 组件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.4 COM方法8
1.3.5 COM超越了用户的需要8
1.3.3 COM库8
1.4 本章小结9
2.1 接口的作用11
第2章 接口11
目录11
引言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.2 多态性20
2.3.1 接口的不变性20
2.3 接口理论:第二部分20
2.4 接口的背后21
2.4.1 虚函数表21
2.4.2 vtbl指针及实例数据23
2.4.3 多重实例24
2.4.4 不同的类,相同的vtbl25
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
能够获取此接口42
3.3 QueryInterface定义了组件43
3.3.1 接口集44
3.4 组件新版本的处理44
3.4.2 不同版本接口的命名46
3.4.3 隐含合约46
3.4.1 何时需要建立一个新版本46
3.5 本章小结47
第4章 引用计数49
4.1 生命期控制49
4.2 引用计数简介50
4.2.1 引用计数接口53
4.2.2 AddRef和Release的实现54
4.3 何时进行引用计数61
4.3.1 引用计数的优化61
4.3.2 引用计数规则64
4.4 本章小结66
第5章 动态链接67
5.1 组件的创建67
5.1.1 从DLL中引出函数68
5.1.2 DLL的装载70
5.2 客户和组件的划分72
5.2.1 程序清单73
5.3 对象串78
5.4 本章小结79
第6章 关于HRESULT、GUID、注册表及其他细节81
6.1 HRESULT81
6.1.1 HRESULT值的查找83
6.1.2 HRESULT值的使用85
6.1.3 用户自己代码的定义86
6.2 GUID88
6.2.1 为什么要使用GUID88
6.2.2 GUID的声明和定义89
6.2.4 将GUID作为组件标识符91
6.2.3 GUID的比较91
6.2.5 通过引用传递GUID值92
6.3 Windows注册表92
6.3.1 注册表的组织92
6.3.2 注册表编辑器92
6.3.3 CLSID关键字结构93
6.3.4 关于注册表的其他细节94
6.3.5 ProgID95
6.3.6 自注册97
6.3.7 组件类别98
6.3.8 OleView99
6.4 COM库函数100
6.4.1 COM库的初始化100
6.4.3 将字符串转换成GUID101
6.4.2 内存管理101
6.5 本章小结103
第7章 类厂105
7.1 CoCreateInstance105
7.1.1 CoCreateInstance的声明106
7.1.2 CoCreateInstance的用法106
7.1.3 类环境107
7.1.4 客户程序清单108
7.1.5 CoCreateInstance的不灵活性110
7.2 类厂110
7.2.1 CoGetClassObject110
7.2.2 IClassFactory111
7.2.3 CoCreateInstance与 CoGetClassObject的比较112
7.2.4 类厂的若干特性113
7.3 类厂的实现113
7.3.2 组件的创建过程114
7.3.1 DIletClassObject的使用114
7.3.3 组件代码清单115
7.3.4 流程控制122
7.3.5 组件的注册123
7.4 同一DLL中的多个组件124
7.4.1 类厂实现的复用125
7.5 DLL的卸载126
7.5.1 DllCanUnloadNow的使用126
7.5.2 LockServer126
7.6 本章小结127
第8章 组件复用:包容与聚合129
8.1 包容和聚合130
8.1.1 包容简介130
8.1.3 包容与聚合的比较131
8.1.2 聚合简介131
8.2 包容的实现132
8.2.1 接口扩展135
8.3 聚合的实现136
8.3.1 QueryInterface的实现137
8.3.2 不正确的IUnknown138
8.3.3 聚合的未知接口140
8.3.4 内部组件的创建144
8.3.5 外部组件中指向内部组件接口的指针147
8.4 一个完整的例子149
8.4.1 盲聚合165
8.5 现实世界中的聚合和包容167
8.5.1 组件的内部状态信息167
8.5.2 虚函数的模拟169
8.6 本章小结170
9.1 客户端的简化171
第9章 编程工作的简化171
9.1.1 智能接口指针172
9.1.2 C++包装类183
9.2 服务器端的简化184
9.2.1 unknown接口基类185
9.2.2 类厂基类189
9.2.3 CUnknown和CFactory的使用195
9.2.4 集成步骤200
9.3 本章小结201
第10章 EXE中的服务器203
10.1 不同的进程203
10.1.1 本地过程调用204
10.1.3 代理/存根DLL205
10.1.2 列集(marshaling)205
10.2 IDL/MIDL简介207
10.2.1 关于IDL207
10.2.2 IDL接口描述举例208
10.2.3 MIDL编译器213
10.3 本地服务程序的实现217
10.3.1 示例程序的运行217
10.3.2 去掉入口点函数218
10.3.3 类厂的启动218
10.3.4对LockServer的修改222
10.4 远程访问能力224
10.4.1 DCOMCNFGEXE所完成的工作225
10.4.2 工作机理226
10.4.3 其他DCOM信息227
10.5 本章小结229
第11章 分发接口与自动化231
11.1 一种新的通信方式232
11.1.1 旧的通信方式232
11.1.2 IDispatch接口232
11.2 IDispatch的使用236
11.2.1 Invoke函数的参数238
11.2.2 示例243
11.2.3 VARIANT类型245
11.2.4 BSTR数据类型247
11.2.5 SAFEARRAY类型248
11.3 类型库249
11.3.1 类型库的创建250
11.3.2 类型库的使用252
11.3.3 注册表中的类型库253
11.4 IDispatch接口的实现254
11.4.1 异常的引发256
11.4.2 参数列集257
11.5 本章小结258
第12章 多线程259
12.1 COM线程模型260
12.1.1 Win32线程260
12.1.2 COM线程260
12.1.3 套间261
12.1.4 套间线程263
12.1.5 自由线程264
12.1.6 列集与同步264
12.2 套间线程的实现266
12.2.1 自动列集267
12.2.2 手工列集267
12.2.3 编码268
12.2.4 对套间线程例子的说明269
12.3 自由线程的实现276
12.3.1 对自由线程例子的说明277
12.3.2 自由线程参数列集的优化282
12.4 关于线程模型的注册表键284
12.5 本章小结284
第13章 一个完整的例子287
13.1 Tangram程序288
13.1.1 Tangram的运行288
13.1.3 客户程序289
13.1.2 所用的组件289
13.1.4 TangramModel组件290
13.1.5 TangramGdiVisual和TangramGLVisual组件291
13.1.6 TangramGdiWorld和TangramGLWorld组件292
13.2 展示293
13.3 IDL文件293
13.3.1 DLLDATA.C文件294
13.4 循环引用计数294
13.4.1 不调用AddRef295
13.4.2 使用显式终止296
13.4.3 使用一个单独的组件296
13.5 事件和连接点297
13.5.1 IEnumXXX299
13.6 本章小结300
结束语301
热门推荐
- 3665382.html
- 344136.html
- 41330.html
- 1016898.html
- 1952817.html
- 3474827.html
- 3274555.html
- 566224.html
- 2959583.html
- 670845.html
- http://www.ickdjs.cc/book_2994443.html
- http://www.ickdjs.cc/book_630247.html
- http://www.ickdjs.cc/book_1934855.html
- http://www.ickdjs.cc/book_2361100.html
- http://www.ickdjs.cc/book_3222053.html
- http://www.ickdjs.cc/book_1444570.html
- http://www.ickdjs.cc/book_1672734.html
- http://www.ickdjs.cc/book_2173697.html
- http://www.ickdjs.cc/book_2035953.html
- http://www.ickdjs.cc/book_3122909.html