《COM/DCOM技术内幕》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)(R.阿伯内西)Randy Abernethy著;汪浩等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2000
  • ISBN:7505355872
  • 页数:533 页
图书介绍:

第一部分 Windows DNA 和COM 3

第1章Windows DNA和COM 3

1.1 Windows DNA 4

1.2 HTML 5

1.2.1 无状态环境 5

1.3 Windows DNA服务 6

1.3.1 Windows DNA服务:COM 6

1.3.2 Windows DNA服务:DNA核心 8

1.3.3 Windows DNA服务:工具 9

1.4 DNA功能综述 12

1.4.1 浏览器 12

1.4.2 IIS 12

1.4.3 ASP 13

1.4.4 MTS 14

1.4.5 MSM Q和SQL Server 14

1.5 小结 17

第2章 多层组件体系设计 18

2.1 综述 19

2.2 Ad-Hoc设计 19

2.3 基本应用程序分界:表达、逻辑和数据服务 20

2.4 三层设计 21

2.5 保持层平衡 22

2.6 多层设计 23

2.7 本地定位或分布式的 26

2.8 优秀的设计技术 26

2.8.1 将应用程序抽象为层 26

2.8.2 找出组件 26

2.8.3 创建接口 27

2.8.4 组件实现 28

2.8.5 设计约束 28

2.8.6 设计目标 29

2.9 设计工具 32

2.10 小结 33

第二部分 高级COM编程技术 37

第3章 永久性存储 37

3.1 复合文件的COM接口 38

3.1.1 IStorage和IStream 38

3.2 结构化存储函数 39

3.2.1 SigCreateDocFile( ) 39

3.2.3 SigOpenStorage( ) 40

3.3 结构化存储接口 41

3.3.1 IStorage 41

3.3.2 IStream 48

3.3.3 IRootStorage 52

3.3.4 IPersist 53

3.3.5 IPersistStorage 53

3.3.6 IPersistStream 54

3.3.7 IPersistFile 57

3.4 结构化存储浏览器 59

3.5 微软管理控制台示例 61

3.6 通用数据传送和通知 61

3.6.1 IDataObject 61

3.6.2 IAdviseSink 66

3.6.3 IDataAdviseHolder 67

3.7 采样通知的实现 69

第4章 别称 73

4.1 IMoniker 76

4.1.1 别称的接口 76

4.1.2 IEnumMoniker 84

4.1.3 IBindCtx 86

4.2 别称的类型 88

4.2.1 文件别称 88

4.2.2 CBL别称 89

4.2.3 复合别称 89

4.2.4 类别称 89

4.2.5 项别称 89

4.2.6 指针别称 89

4.2.7 反别称 89

4.3 小结 89

第5章 可连接对象 90

5.1 连接点 91

5.2 连接点容器 93

5.3 连接点示例 93

5.3.1 事件接收器 97

5.4 Visual Basic 106

5.4.1 重写事件源 107

5.4.2 ATL代理生成器 109

5.4.3 编写Visual Basic客户程序 112

5.5 不同工具如何实现事件 113

5.5.1 事件和Visual Basic 113

5.5.2 事件和C+ + Builder 115

5.6 小结 119

第6章 COM线程 120

6.1 PC线程的发展 121

6.2 线程类型 121

6.2.1 工作者线程 122

6.2.2 报文队列线程 123

6.2.3 窗口线程类型 124

6.2.4 单元线程 127

6.2.5 线程组合 129

6.3 COM线程模型 130

6.3.1 单线程服务器 131

6.3.2 单元线程服务器 131

6.3.3 自由线程服务器 133

6.4 线程同步 137

6.4.1 线程的本地存储 137

6.4.2 去除并行问题 137

6.5 小结 144

第7章 COM及其注册表 145

7.1 注册表的API 146

7.2 Regedit和Regedt32 147

7.2.1 导入和导出注册文件 148

7.3 COM注册表结构 149

7.3.1 文件扩展名 149

7.3.2 ProgID 150

7.3.3 AppID 153

7.3.4 CLSID 156

7.3.5 接口 158

7.3.6 TypeLib 159

7.4 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole 161

7.4.1 允许和禁止DCOM 161

7.4.2 缺省权限 162

7.4.3 继承的安全性保证 162

7.5 注册一个COM服务器 162

7.5.1 Regsvr32 162

7.5.2 自注册离线服务器 164

7.5.3 结构 165

第8章 COM的优化、继承和集合 167

8.1 DCOM的速度 168

8.1.1 对象定位 168

8.1.2 网络循环 169

8.1.3 混合线程模型 169

8.2 远程动作 174

8.3 远程索引记数 175

8.3.1 强制回应 176

8.4 代理进程 176

8.4.1 用户代理 179

8.5 I Class Factory 180

8.6 继承性 182

8.6.1 集合 182

8.7 小结 188

第三部分 带有DCOM的分布式组件 191

第9章 DCOM在NT服务器上的应用 191

9.1 NT服务模板 193

9.1.1 函数main( )与Winmain( ) 193

9.1.2 函数ServiceMain( ) 195

9.1.3 函数ServiceCtrlllandle( ) 197

9.2 ATL与服务 199

9.2.1 DCOM IPC 210

9.3 实用程序 212

9.3.1 服务控制面板附属程序 212

9.3.2 Windows NT诊断程序(WinMsd.exe) 212

9.3.3 服务控制器程序(Se exe) 213

9.3.4 事件浏览器 213

9.4 OpenSCManaer() 214

9.4.1 服务句柄 214

9.4.2 对服务的操作 214

9.5 注册表 215

9.6 事件日志 216

9.6.1 报文编译器(MC) 216

9.6.2 RegisterEventSource( ),DeregisterEvent-Souree( )和Report Event( ) 219

9.6.3 事件记录浏览器 219

9.7 调试 221

9.7.1 系统帐号 221

9.7.2 NT任务管理器(NT Task Manager):调试 221

9.7.3 用AT命令启动调试器 221

9.8 小结 221

第10章 打包 222

10.1 领会打包 223

10.2 类库打包 223

10.3 标准打包 224

10.3.1 确定DLL入口点 226

10.3.2 类定义 227

10.3.3 定义IID、TypeLib GI ID与CLSID 231

10.3.4 代理与存根的定义 232

10.3.5 注册文件 238

10.3.6 MIDL输出文件的转换 239

10.4 自定义打包 241

10.4.1 对象类的说明 242

10.4.2 对象类的定义 244

10.4.3 代理类的定义 249

10.4.4 客户 253

第11章 安全性 256

11.1 COM与DCOM的安全性比较 257

11.1.1 COM的安全性与SSPI 257

11.2 NT安全性 257

11.2.1 域 257

11.2.2 安全性描述符 258

11.2.3 访问控制表 262

11.2.4 用户身份验证 271

11.3 冒名 272

11.3.1 函数CoImpersonateClient( )与CoRrevertToSelf( ) 272

11.3.2 掩饰 274

11.4 说明安全性 274

11.5 编程安全性 274

11.5.1 安全罩 274

11.5.2 IClientSecurity接口 275

11.5.3 访问与启动的安全性 277

第12章 配置与纠错 278

12.1 设置访问控制列工具(DCOMCNFC) 279

12.1.1 遗留COM服务器 279

12.1.2 创建自动服务器 282

12.1.3 缺省属性 285

12.1.4 缺省安全性 286

12.1.5 配置COM服务器 289

12.1.6 服务器位置 290

12.1.7 服务器安全性 290

12.1.8 服务器身份 292

12.2 OLEView 293

12.2.1 OLEView的不足 293

12.2.2 用OLEView配置COM对象 294

12.2.3 代理 295

12.2.4 访问允许 295

12.3 纠错处理 297

12.3.1 纠错策略 298

12.3.2 ISupportEerrotInfo接口 299

12.4 小结 305

第四部分 运用MTS的组件管理与应用 309

第13章 MTS的体系结构与管理 309

13.1 MTS的特性 310

13.1.1 可扩展性 310

13.1.2 并行管理 310

13.1.3 执行性能 311

13.1.4 可靠性 311

13.1.5 安全性 311

13.1.6 分布式事务处理 311

13.1.7 组件框架集成化 311

13.2 MTS 的历程 312

13.3 如何使用MTS 312

13.3.1 支持中层应用服务器 312

13.3.2 简单应用到多层应用 313

13.4 MTS的体系结构 313

13.4.1 MTS组件 314

13.4.2 MTS对象 315

13.4.3 信息包 315

13.4.4 代理对象 315

13.4.5 上下文对象 315

13.4.6 活动 316

13.4.7 MS DTC 316

13.4.8 事务对象 316

13.4.9 MTS可执行程序(MTS Executive) 316

13.4.10 MTS的运行时代理 316

13.5 外部服务 317

13.5.1 资源管理器 317

13.5.2 资源分配器 317

13.6 安装MTS的系统要求 318

13.7 管理MTS 318

13.7.1 MTS Explorer 318

13.7.2 自动管理的任务 322

13.7.3 命令行工具 322

13.8 小结 323

第14章 MTS作为组件管理器 324

14.1 MTS和其他基于组件服务的编程 325

14.2 MTS的可扩展特性 326

14.3 MTS与标准的COM组件 326

14.3.1 标准COM组件 326

14.3.2 在MTS下运行标准COM组件 330

14.3.3 MTS针对标准COM组件的优点 332

14.4 通向MTS组件之路 332

14.4.1 软件的再使用 333

14.4.2 运行性能,可扩展性与强壮性 334

14.5 状态 335

14.5.1 状态类型 335

14.5.2 状态存储 336

14.6 MTS组件的要求 337

14.7 构造MTS组件 338

14.7.1 上下文对象 338

14.7.2 对象控制 339

14.7.3 用ATL构造MTS组件 340

14.7.4 共享属性管理器(SPM) 342

14.7.5 MTS内引用对象 345

14.7.6 在MTS内创建对象 346

14.8 小结 346

第15章 MTS作为事务协调器 347

15.1 事务处理定义 348

15.1.1 ACID 348

15.2 事务处理管理 349

15.2.1 资源管理员 349

15.2.2 MS DTC 349

15.2.3 资源分配 349

15.2.4 事务处理协议 349

15.3 MTS事务处理编程模型 350

15.3.1 创建事务处理行程 351

15.3.2 完成事务处理 355

15.4 数据访问 358

15.5 监控事务处理 358

15.6 设计需考虑的事项 359

15.6.1 优先选用精细组件 359

15.6.2 将组件靠近它们的数据源 360

15.6.3 同时使用相同资源的信息包组件 360

15.7 小结 360

第16章 MTS安全性 361

16.1 MTS安全概念 362

16.1.1 角色 362

16.1.2 安全责任 364

16.2 说明MTS安全性 364

16.2.1 创建角色 364

16.2.2 向组件和接口中添加角色 365

16.2.3 启动安全性 366

16.2.4 身份验证 366

16.3 程序上的MTS安全性 366

16.3.1 识别用户 367

16.3.2 授权用户 370

16.4 小结 373

第17章 COM的事务处理综合器(COMTI) 374

17.1 COMTI的需求 375

17.2 大型机和Windows DNA 376

17.2.1 SNA Server 377

17.2.2 COMTI之前 378

17.2.3 COMTI 378

17.2.4 COMTI的告诫 379

17.3 CICS和CICS连接 380

17.4 COMTI组件构造器 383

17.4.1 CICS TP 385

17.4.2 CICS LINK 391

17.5 COMTI管理控制面板 391

17.6 COMTI运行时概述 393

17.7 小结 395

第五部分 用报文队列的方法对异步组件进行编程 399

第18章 对松散关联的系统进行编程 399

18.1 什么是报文 400

18.2 报文的优点 400

18.3 报文的缺点 401

18.4 同步编程与异步编程的对比 402

18.5 可扩展性 403

18.6 面向报文的中间设备 404

18.6.1 MOM API 404

18.6.2 MOM系统软件 404

18.6.3 系统管理工具 405

18.7 Microsoft报文队列服务器(MSMQ) 405

18.8 MSMQ连接器 405

18.9 MSMQ与其他API 405

18.10 MSMQ与Email 406

18.11 小结 406

第19章 MSMQ的管理与体系 407

19.1 MSMQ对象与属性 408

19.2 报文 409

19.2.1 报文属性 409

19.3 队列 411

19.3.1 队列类型 411

19.3.2 MQIS 413

19.3.3 LQS 413

19.3.4 队列属性 413

19.3.5 优先权 413

19.3.6 事务性队列 414

19.3.7 识别队列 414

19.3.8 专用队列 416

19.4 计算机 416

19.4.1 计算机属性 416

19.5 MSMQ计划 417

19.5.1 物理连接 417

19.5.2 联网 417

19.5.3 MSMQ控制器 417

19.6 MSMQ客户 417

19.7 MSMQ管理 418

19.8 小结 418

第20章 MSMQ编程 419

20.1 MSMQ库API 420

20.2 用MSMQ库API构建MSMQ应用程序 421

20.2.1 格式名 421

20.2.2 路径名 421

20.2.3 查询格式名 421

20.2.4 用属性工作 422

20.2.5 创建队列 423

20.2.6 注销队列 423

20.2.7 队列打开 424

20.2.8 发送报文 424

20.2.9 接收报文 426

20.2.10 关闭队列 427

20.3 MSMQ ActiveX控件API 434

20.3.1 MSMQ ActiveX类 435

20.4 用原始COM接口构建MSMQ应用程序 436

20.4.1 定义接口与GUID 436

20.4.2 初始化COM 437

20.4.3 创建队列 437

20.4.4 注销队列 439

20.4.5 打开队列 439

20.4.6 送出报文 439

20.4.7 接收报文 440

20.4.8 关闭队列 442

20.5 用灵巧指针构造MSMQ应用程序 450

20.5.1 定义接口与GUID 450

20.5.2 tli文件 453

20.5.3 ATL依赖性 453

20.5.4 创建队列 454

20.5.5 注销队列 454

20.5.6 打开队列 455

20.5.7 送出报文 455

20.5.8 接收报文 456

20.5.9 关闭队列 456

20.6 用VBScript构造一个MSMQ应用程序 461

20.7 小结 464

第21章 高级MSMQ编程 465

21.1 指针 467

21.1.1 MSMQ API指针 467

21.1.2 MSMQ ActiveX组件光标 470

21.2 寻找队列 472

21.2.1 计算机属性 474

21.3 报文确认、应答与日志 475

21.3.1 管理队列 475

21.3.2 应答队列 481

21.3.3 报文ID 482

21.3.4 日志 482

21.4 事务 482

21.4.1 AICD 483

21.4.2 报文事务 483

21.4.3 ITransaction 484

21.4.4 创建事务队列 484

21.4.5 事务的类型 485

21.4.6 外部事务 489

21.5 MSMQ Email API 497

21.6 异步操作 499

21.6.1 自动事件 499

21.6.2 系统事件对象 500

21.6.3 回调函数 504

21.6.4 完成端口 510

21.7 队列安全性 517

21.7.1 报文安全性 517

21.8 小结 518

第六部分 Windows DNA和COM 521

第22章 COM+介绍 521

22.1 COM+的发展过程 522

22.2 MTS的不足 523

22.3 COM+体系结构 523

22.3.1 创建对象 524

22.3.2 参数化对象创建 524

22.3.3 别称 524

22.3.4 中性线程单元 524

22.3.5 对象合并 525

22.3.6 动态合并管理 525

22.3.7 动态负载平衡 525

22.4 COM+部署服务 526

22.5 资源管理器 526

22.5.1 带校正资源管理器(Compensating Resoruce Manager) 526

22.6 小结 527

第23章 COM+服务编程 528

23.1 设计COM+组件 529

23.2 队列中的组件 529

23.2.1 队列中的事务 529

23.2.2 管理队列中的组件 530

23.3 松散关联事件 530

23.3.1 松散关联事件(LCE) 530

23.4 数据访问 531

23.4.1 内存数据库 531

23.4.2 最佳读取数据访问 531

23.4.3 过渡的共享属性管理器 531

23.4.4 IMDB的限制 532

23.4.5 管理IMDB 532

23.5 COM+的安全性 532

23.6 基本COM特性 532

23.6.1 结构化存储 532

23.6.2 取消未完成的COM调用 533

23.7 小结 533