第1章 欢迎使用“COM+开发人员参考库” 1
“COM+开发人员参考库”的组织方式 2
本书的组织方式 2
第2章 充分利用微软开发人员资源之三 3
2.1介绍 3
2.2动机 4
异步客户程序 4
其他应用 5
2.3体系结构 7
Async_uuid和具有非阻断方法调用能力的代理/占位对象 7
客户端 8
服务器端 11
2.4实现 13
简单的异步服务器 13
客户端程序的例子 14
服务器端 17
2.5限制和陷阱 20
限制 21
陷阱 21
2.6结论 23
第3章 “COM+开发人员参考库”使用指南 24
本卷内容 24
其他各卷内容 28
获得更多信息 31
第4章 C和C++设计考虑 33
组件对象:C嵌套结构 33
组件对象:C++嵌套类 34
多重继承 36
第5章 组件对象模型 37
5.1 COM对象和接口 38
接口和接口的实现 38
接口指针和接口 39
IUnknown和接口继承 40
5.2使用和实现IUnknown接口 40
QueryInterface:在对象中查询 40
实现QueryInterface的规则 41
通过引用计数控制对象的 42
生存期 42
5.3对象的重用 45
封装/代理 46
聚合 46
5.4 COM库 49
5.5管理内存分配 50
OLE内存分配器 50
内存管理规则 50
调试内存分配 51
第6章 进程、公寓和线程 52
6.1选择线程模型 54
6.2单线程公寓 54
6.3多线程公寓 55
6.4单/多线程通信 57
6.5进程内服务器线程问题 57
6.6跨公寓访问接口 59
创建全局接口表 59
什么时候使用全局接口表 60
第7章 COM客户程序和服务器 61
7.1通过类对象创建对象 62
COM类对象和CLSID 62
定位远程对象 63
实例创建辅助函数 64
7.2 COM服务器的职责 64
实现IC1assFactory 64
许可和IC1assFactory2 65
注册COM服务器 66
进程外服务器实现辅助 69
GUID创建和优化 71
7.3持续对象状态 72
持续对象接口 72
初始化持续对象 73
7.4提供类信息 73
7.5内部对象通信 73
第8章 生成和处理异步调用 79
8.1生成和取消异步调用 79
生成异步调用 80
在异步调用中的客户安全性 81
扮演和异步调用 81
取消异步调用 81
8.2取消方法调用 82
8.3调用同步 82
第9章 定义COM接口 84
9.1接口调度 84
9.2剖析IDL文件 85
9.3 MIDL编译器 87
9.4 MIDL编译选项 88
9.5加载和注册类型库 88
9.6建立和注册代理DLL 89
9.7接口设计规则 90
设计远程接口 91
使用COM接口 91
第10章 注册COM应用程序 94
10.1注册表分层结构 94
10.2类和服务器 94
10.3将组件分类 94
10.4使用OleView 95
10.5注册表编辑器 95
10.6注册组件 95
10.7检查注册 96
10.8未知用户类型 96
10.9 COM注册键 96
第11章 COM中的安全 98
11.1确定安全需求 98
11.2默认COM安全 99
11.3激活安全 99
11.4安全值 100
委派和扮演 100
应用程序身份 106
引用跟踪 108
11.5为COM应用程序设置安全 108
为计算机修改安全默认值 108
设置进程范围安全 111
在接口代理级设置安全 116
11.6打开和关闭安全 117
关闭安全 117
使用DCOMCNFG开启COM安全 119
11.7 COM和安全包 119
11.8 NTLMSSP 119
11.9 Kerberos 120
11.10 SChannel 121
11.11 Snego 122
11.12服务器端的安全 123
11.13安全性覆盖协商 123
11.14 COM安全、Windows 95和 124
Windows 98 124
Windows95和Windows98中的调用级安全 124
Windows95和Windows98中的远程连接和激活 125
仅含Windows95和Windows98网络的安全 125
第12章 错误处理 126
12.1 COM错误码的结构 126
12.2 FACILITY ITF中的码 127
12.3使用宏来进行错误处理 128
12.4在Java和Visual Basic中的错误处理 128
12.4.1返回错误信息 129
12.4.2检索错误信息 129
12.5错误处理策略 130
HRESULT 130
Win32和网络错误 130
12.6处理未知错误 130
第13章 COM处理程序 132
13.1 OLE处理程序 132
13.2轻便的客户端处理程序 133
实现和激活一个没有附加服务器数据的处理程序 133
实现和激活一个有附加服务器数据的处理程序 135
QueryInterface的代理 136
第14章DLL代理 137
14.1 DLL服务器需求 137
代理共享 137
为激活代理而注册DLL服务器 138
14.2使用系统提供的代理 139
14.3定制代理 139
第15章moniker 142
15.1 moniker客户程序 142
15.2 moniker提供者 142
15.3 OLE moniker的实现 143
文件moniker 143
复合moniker 143
项目moniker 144
反moniker 145
指针moniker 145
类moniker 146
异步moniker 146
URL moniker 149
第16章 COM中的事件 152
可连接对象的体系结构 152
可连接对象接口 154
第17章 实现组件目录管理 157
根据组件的能力来分类 157
根据容器的能力来分类 158
组件目录管理器 159
默认类和关联 159
定义组件目录 160
将图标与组件目录相关联 160
第18章 COM接口 161
IAccessControl 161
IAuthenticate 167
IBindCtx 169
ICallFactory 179
ICancelMethodCalls 180
ICatInformation 181
ICatRegister 187
IClassActivator 192
IClassFactory 193
IClassFactory2 196
IClientSecurity 200
IConnectionPoint 207
IConnectionPointContainer 212
IContinueCallback 215
IEnumXXXX 216
IEnumConnectionPoints 218
IEnumConnections 220
IEnumString 222
IEnumUnknown 222
IEventPropety 223
IEventPublisher 225
IExtemalConnection 228
IGlobalInterfaceTable 231
IInternalUnknown 235
IMal loc 237
IMallocSpy 241
IMarshal 250
IMarshal——默认实现 260
IMessageFilter 262
IMoniker 268
IMoniker——反Moniker实现 291
IMoniker——类moniker实现 292
IMoniker——文件moniker实现 293
IMoniker——一般复合moniker实现 296
IMoniker——项目moniker实现 298
IMoniker OBJREF moniker实现 299
IMoniker——指针moniker实现 301
IMoniker URL moniker实现 302
IMultiQI 305
IOleItemContainer 307
IParseDisplayName 312
IPersist 314
IPersistFile 316
IPersistMoniker 322
IPersistStorage 327
IPersistStream 334
IPersistStream-URL moniker实现 339
IPersistStreamInit 339
IPipeByte 342
IPipeDouble 344
IPipeLong 347
IProgressNotify 349
IProvideClassInfo 351
IProvideClassInfo2 352
IProvideMultipleClassInfo 353
IROTData 355
IRunnableObject 357
IRunningObjectTable 361
IServerSecurity 370
IStdMarshalInfo 374
ISurrogate 375
ISynchronize 378
ISynchronizeContainer 379
ISynchronizeEvent 381
ISynchronizeHandle 382
IUnknown 383
第19章 COM函数 387
第20章 COM结构 501
第21章 COM枚举类型数据 515
第22章 COM注册项目 540
HKEY_ LOCAL MACHINE\SOFTWARE\Classes 540
AppID键 540
CLSID键 546
ProgID键 558
VersionIndependentProgID键 560
File Extension键 560
(Non-Compound) FileType键 561
Interface键 561
HKEY_LOCAL_ MACHINE\Software\Microsoft\OLE 563
COM+词汇表 568