图书介绍

COM+编程指南2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

COM+编程指南
  • (美)Mark Michaelis著;宋丽红等译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111095367
  • 出版时间:2002
  • 标注页数:449页
  • 文件大小:13MB
  • 文件页数:460页
  • 主题词:COM/DCOM/ATL/COM+

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

COM+编程指南PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

译者序1

前言1

第1章 COM+介绍1

1.1 组件的革命1

1.1.1 两个目标1

1.1.2 单一的大模块与组件模型的比较2

1.2 COM的产生3

1.3 什么是COM4

1.4 组件对象6

1.5 服务器程序和客户端程序6

1.6 COM怎样工作:接口和虚函数表7

1.6.1 接口7

1.6.2 vtable(虚函数表)10

1.7 IUnknown11

1.9 全局惟一标识13

1.8 接口定义语言和类型库13

1.10 COM API14

第2章 COM基础:创建一个简单的组件和客户端程序15

2.1 创建步骤15

2.2 传统的Stopwatch实现16

2.2.1 最初的Stopwatch的设计16

2.2.2 建立Timers.dll库17

2.3 创建StopwatchClient.exe24

2.5 添加IUnknown27

2.4 回顾一下起点27

2.5.1 实现IUnknown的两种方法28

2.5.2 IUnknown必须被完全实现29

2.5.3 添加IUnknown29

2.6 实现Querylnterface()30

2.6.1 Querylnterface()规则31

2.6.2 生成GUID32

2.6.3 添加Querylnterface()34

2.6.4 调用Querylnterface()35

2.7 引用计数36

2.7.1 实现引用计数37

2.7.2 使用COM引用计数38

2.8 构建一个类工厂42

2.9 使用COM API51

2.9.1 注册服务器程序51

2.9.2 初始化和取消初始化COM52

2.9.3 用CoCreateInstance()实例化组件对象52

2.10 回顾一下COM组件的关键元素55

第3章 ATL介绍56

3.1 使用ATL应用程序向导创建COM服务器程序56

3.1.1 运行ATL应用程序向导57

3.1.2 完成向导60

3.2 添加COM对象63

3.2.1 线程模式64

3.2.2 接口67

3.2.4 支持ISupportErrorInfo68

3.2.3 聚合68

3.2.5 支持连接点69

3.2.6 结束向导70

3.3 增加Stopwatch的方法和属性72

3.3.1 声明方法和属性72

3.3.2 添加计时代码74

3.3.3 注册组件77

3.4 通过客户端程序访问Stopwatch组件78

第4章 接口定义语言介绍81

4.1 从MIDL编译器输出81

4.2 IDL基础81

4.3 接口83

4.3.1 接口标题属性83

4.3.2 接口声明85

4.4 C++接口定义86

4.5 方法89

4.6 参数92

4.7 属性94

4.7.1 属性的标志95

4.7.2 读写属性95

4.7.3 属性的附加参数96

4.8 定义类型库97

4.9 向Stopwatch添加Overhead属性99

第5章 COM的客户端程序及智能指针的使用107

5.1 客户端程序概述107

5.2 初始化和取消初始化COM子系统107

5.3 实例化COM对象109

5.4 将COM服务器程序定义导出到客户端程序111

5.5 智能指针114

5.6 _com_ptr_t模板类114

5.7 新类型的IStopwatch118

5.8 使用异常处理错误121

5.9 混合使用智能指针与原始接口123

5.10 跨COM边界传递接口124

5.11 另一COM客户端程序示例127

第6章 处理通称为BSTR的COM字符串133

6.1 COM字符串基础133

6.1.1 Unicode与ANSI数据类型133

6.1.2 OLECHAR、LPOLESTR和LPCOLESTR134

6.1.3 处理LPOLESTR134

6.1.4 是否执行Unicode编译135

6.1.5 TCHAR135

6.1.6 使用BSTR处理不同大小的字符串136

6.1.7 处理BSTR的常用API函数137

6.1.8 跨COM边界的字符串内存管理138

6.1.9 字符串转换函数143

6.2 CComBSTR145

6.3 _bstr_t149

6.4 选择字符串封装器154

7.1 有效的COM数据类型156

第7章 其他COM数据类型156

7.2 使用VARIANT_BOOL的Boolean值157

7.3 变量数据类型158

7.3.1 VARIANT结构159

7.3.2 常用变量处理API函数161

7.3.3 CComVariant164

7.3.4 _variant_t166

7.4 枚举169

7.5 可选参数170

7.6 指定默认值171

7.7 传递数组172

7.8 传递数目可变的自变量174

7.9 传递COM对象174

第8章 浏览IDispatch176

8.1 创建支持双重接口的Stopwatch组件176

8.1.1 在IDL中声明双重接口177

8.1.2 接口继承和IDispatch182

8.1.3 在组件内实现IDispatch183

8.1.4 更新COM映射183

8.2 更改组件的版本184

8.2.1 更新文件版本185

8.2.2 更新注册表中的新CLSID和类型库版本186

8.3 测试IDispatch接口187

8.4 在C++COM客户程序中调用IDispatch接口188

9.1 HRESLUT结构198

第9章 错误处理和组件调试198

9.2 使用定制HRESULT进行错误处理199

9.3 详细错误处理202

9.3.1 IErrorlnfo接口202

9.3.2 ISupportErrorInfo接口202

9.3.3 在Stopwatch项目中添加ISupportErrorInfo203

9.3.4 在客户程序中使用详细错误处理210

9.3.5 _com_error211

9.4 调试ATL代码211

9.4.1 编写调试窗口的消息212

9.4.2 使用ATLASSERT()验证一切正常213

9.4.3 调试QueryInterface()和引用计数213

9.5 在调试器中运行客户程序和服务器程序214

第10章 事件215

10.1 事件概述215

10.2 连接点217

10.3 创建支持事件的COM服务器程序220

10.3.1 接口设计220

10.3.2 添加倒计时组件并定义它的接口223

10.3.3 实现ICountdown接口229

10.3.4 实现连接点和激发事件233

10.3.5 实现IProvideClassInfo2238

10.4 接收组件的事件通知239

10.4.1 创建ATL可执行文件240

10.4.3 声明源接口实现246

10.4.2 添加对话框246

10.4.4 连接连接点251

10.4.5 引用计数和连接点254

10.4.6 使用内嵌监听器类避免循环引用计数256

10.4.7 IDispEventImpl和IDispEventSimpleImpl264

第11章 ActiveX265

11.1 ActiveX控件265

11.2 开发一个ActiveX控件265

11.2.1 创建一个空的ATL项目266

11.2.2 添加一个控件模板266

11.2.3 StopwatchControl对象269

11.2.4 编译、调试Stopwatch控件278

11.2.5 为默认控件添加功能281

11.2.6 添加一个按钮286

11.2.7 添加一个定制属性页289

11.2.8 持续性和属性包296

12.1 为所有应用程序配置DCOM默认设置298

第12章 DCOM298

12.1.1 Default Properties300

12.1.2 Default Security302

12.1.3 Default Protocols303

12.2 为DCOM配置一个特定的应用程序303

12.2.1 配置客户端程序计算机303

12.2.2 配置服务器程序计算机305

12.3 使用DCOM编程307

12.2.3 运行客户端程序307

12.3.1 CoCreateInstanceEx()308

12.3.2 一个DCOM客户端程序示例310

12.4 查找DCOM故障315

12.5 COM安全API函数317

12.5.1 使用CoInitializeSecurity()配置安全许可317

12.5.2 扮演客户端程序的身份:CoImpersonateClient()319

12.5.3 用CoQueryClientBlanket()确定安全设置319

12.6.1 代理服务器和存根320

12.6 调度320

12.6.2 定制调度322

12.6.3 类型库调度322

12.6.4 MIDL生成的代理服务器/存根322

12.7 DCOM小结323

第13章 线程324

13.1 线程模型摸拟325

13.1.1 单一线程模型325

13.1.2 公寓线程模型327

13.1.3 自由线程模型329

13.1.4 双线程模型331

13.1.5 线程中立模型332

13.1.6 自由线程化调度器334

13.2 跨公寓调度336

13.2.1 拦截者-代理服务器和存根336

13.2.2 使用工作者线程338

13.3 与ATL同步341

13.4 异步COM调用345

13.4.1 在组件服务器程序中定义异步接口346

13.4.2 异步地调用348

13.4.3 异步方法完成通知351

13.4.4 实现异步COM服务器程序352

第14章 COM+的发展过程354

14.1 为什么要用COM+354

14.2 COM+服务和术语介绍355

14.2.1 组件服务355

14.2.2 COM+服务356

14.2.3 配置组件357

14.3 COM+如何工作概述358

14.3.1 对象上下文细述359

14.3.2 并发和活动360

14.4 COM+事务361

14.4.2 调用事务支持362

14.4.1 数据一致性362

14.4.3 事务流363

14.4.4 资源管理器和资源分发器365

14.4.5 补偿资源管理器367

14.5 用排队组件编写分离应用程序368

14.6 发布和预定事件服务369

14.7 控制对象生存期来增加可升级性能370

14.7.1 对象缓冲370

14.7.2 即时激活371

14.7.3 IObjectControl接口372

14.8 共享属性管理器372

14.9 基于角色的安全373

14.10 准备就绪374

第15章 建立COM+系统375

15.1 示例程序375

15.2 创建一个可持续的组件377

15.3 建立HotelReservation.exe客户端应用程序382

15.4.1 COM+应用程序的两种类型386

15.4 COM+应用程序386

15.4.2 创建一个COM+应用程序387

15.4.3 配置一个COM+应用程序390

15.5 利用COM+事件服务394

15.5.1 创建事件类394

15.5.2 把组件添加到Component Services396

15.5.3 在Component Services中配置事件类398

15.5.4 创建一个事件预定者399

15.5.5 在Component Services中配置预定者401

15.5.6 为预定者发布事件404

15.6 排队组件405

15.6.1 创建一个可队列化组件405

15.6.2 把组件配置为排队组件408

15.6.3 实例化并调用排队组件410

15.6.4 使用队列事件的分离、异步预定者413

15.7 COM+事务414

15.7.1 创建一个支持事务的组件415

15.7.2 使用ObjectContext参加事务419

15.7.3 为事务支持配置组件421

15.7.4 通过编程在事务中包含可执行程序426

15.8 配置组件激活428

15.8.1 对象缓冲429

15.8.2 即时激活432

15.8.3 利用组件内部的构造字符串433

15.9 基于角色的安全435

15.8.4 其他的Activation设置435

15.10 调试服务器程序组件438

15.10.1 调试配置为库应用程序的服务器程序组件438

15.10.2 配置为服务器应用程序/从Active Workspace调试438

15.11 部署应用程序439

15.11.1 应用程序代理服务器440

15.11.2 服务器应用程序441

15.12 使用ATL COM AppWizard建立一个MTS兼容的应用程序441

15.13 最后的想法448

热门推荐