图书介绍
Visual C++实践与提高 COM和COM+篇2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 余英,梁刚编著 著
- 出版社: 北京:中国铁道出版社
- ISBN:7113040497
- 出版时间:2001
- 标注页数:509页
- 文件大小:78MB
- 文件页数:532页
- 主题词:VC++
PDF下载
下载说明
Visual C++实践与提高 COM和COM+篇PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 COM背景知识1
1.1 COM的起源1
1.1.1 软件业面临的挑战2
1.1.2 传统解决方案2
1.1.3 面向对象程序设计方法3
1.1.4 最终解决方案:组件软件3
1.1.5 面向对象的组件模型——COM5
1.2 COM的发展历程7
1.2.1 COM以前的对象技术:DDE、OLE1、VBX控件7
1.2.2 COM首次亮相:OLE28
1.2.3 Microsoft拥抱Internet:ActiveX9
1.2.4 更多的新名词:Windows DNA和COM+10
1.2.5 远程对象:ORBs和DCOM11
1.2.6 COM的最新版本:COM+11
1.3 COM技术现状12
1.3.1 COM与CORBA12
1.3.2 COM与Enterprise Java Beans13
1.3.3 Windows之外的COM14
小结14
第2章 从C++到COM15
2.1 C++客户重用CH对象——例程DB15
2.1.1 C++对象16
2.1.2 客户程序18
2.2 将C++对象移进DLL中——例程DB_cppdll21
2.2.1 成员函数的引出21
2.2.2 内存分配21
2.2.3 Unicode/ASCII兼容22
2.2.4 例程实现22
2.2.4.1 修改接口文件23
2.2.4.2 修改对象程序24
2.2.4.3 修改客户程序25
2.3 C++对象使用抽象基类——例程DB_vtbl28
2.3.1 问题:私有数据成员被暴露28
2.3.2 解决方案:抽象基类28
2.3.2.1 什么是抽象基类(Abstract Base Class)28
2.3.2.2 实现秘诀:虚函数(Virtual Functions)29
2.3.3 使用抽象基类29
2.3.4 例程实现30
2.3.4.1 修改接口文件30
2.3.4.2 修改对象程序31
2.3.4.3 修改客户程序32
2.4 改由COM库装载C++对象——例程dbalmostcom33
2.4.1 COM库33
2.4.2 对象创建的标准入口点33
2.4.3 标准对象创建API34
2.4.4 标准对象注册34
2.4.5 例程实现35
2.4.5.1 修改接口文件35
2.4.5.2 修改对象程序35
2.4.5.3 修改客户程序37
2.5 将C++对象变成COM对象38
2.5.1 引用计数39
2.5.2 多接口39
2.5.3 IUnknown接口40
2.5.4 标准类厂接口:IClassFactory40
2.5.5 对象代码的动态卸载41
2.5.6 自动注册42
2.5.7 例程实现42
2.5.7.1 修改接口文件42
2.5.7.2 修改对象程序43
2.5.7.3 修改客户程序50
2.6 为COM对象添加多接口支持51
2.6.1 多接口51
2.6.2 DEFINE_GUID53
2.6.3 例程实现53
2.6.3.1 修改接口文件53
2.6.3.2 修改对象程序55
2.6.3.3 修改客户程序56
小结57
第3章 COM基础知识59
3.1 对象与接口59
3.1.1 COM对象60
3.1.2 COM接口61
3.1.3 IUnknown接口62
3.1.3.1 生存期控制:AddRef和Release63
3.1.3.2 接口查询:QueryInterface64
3.1.4 全球唯一标识符GUID64
3.1.5 COM接口定义65
3.1.6 接口描述语言IDL67
3.2 COM应用模型68
3.2.1 客户/服务器模型69
3.2.2 进程内组件70
3.2.3 进程外组件70
3.2.4 COM库72
3.2.5 HRESULT返回值73
3.2.6 COM与注册表75
3.3 COM组件78
3.3.1 实现类厂对象78
3.3.2 类厂对象的创建80
3.3.3 实现自动注册82
3.3.4 实现自动卸载83
3.4 COM客户84
3.4.1 COM对象创建函数84
3.4.1.1 CoGetClassObject84
3.4.1.2 CoCreateInstance85
3.4.1.3 CoCreateInstanceEx86
3.4.2 如何调用进程内组件87
3.4.3 COM客户调用进程外组件89
3.5 进一步认识COM91
3.5.1 可重用机制:包容和聚合91
3.5.2 进程透明性93
3.5.3 安全性机制94
小结95
第4章 COM扩展技术97
4.1 可连接对象机制97
4.1.1 客户、接收器与可连接对象98
4.1.1.1 接收器98
4.1.1.2 可连接对象98
4.1.1.3 客户99
4.1.2 实现可连接对象99
4.1.3 实现接收器100
4.1.4 建立接收器与连接点的连接101
4.1.5 获得出接口的类型信息102
4.2 结构化存储102
4.2.1 什么叫结构化存储和复合文件103
4.2.2 存储对象和IStorage接口104
4.2.2.1 IStorage接口104
4.2.2.2 获得IStorage指针105
4.2.2.3 释放STATSTG内存105
4.2.2.4 枚举存储对象中的元素106
4.2.3 流对象和IStream接口106
4.2.4 结构化存储示例——例程StructStore107
4.3 永久对象113
4.3.1 永久接口114
4.3.2 永久对象编程——例程PersistText116
4.3.3 永久对象客户编程——例程PersistClient120
4.4 命名与绑定技术125
4.4.1 COM名字对象与IMoniker126
4.4.2 COM系统名字对象128
4.4.2.1 文件名字对象(file moniker)128
4.4.2.2 复合名字对象(composite moniker)128
4.4.2.3 单项名字对象(item moniker)129
4.4.2.4 反-名字对象130
4.4.2.5 指针名字对象130
4.4.2.6 类名字对象130
4.4.3 使用名字对象131
4.4.3.1 获得名字对象131
4.4.3.2 执行绑定操作131
4.5 统一数据传输132
4.5.1 数据交换与传输协议的分离132
4.5.2 数据格式和传输介质133
4.5.2.1 FORMATETC结构133
4.5.2.2 STGMEDIUM结构135
4.5.3 数据对象和IDataObject接口137
4.5.4 MFC对统一数据传输的支持138
4.5.4.1 COleDataSource类138
4.5.4.2 COleDataObject139
4.5.5 剪贴板传输——例程OleClip140
4.5.6 OLE拖放——例程OleDragDrop145
小结148
第5章 COM技术的应用149
5.1 基于COM的应用技术150
5.1.1 COM、OLE与ActiveX150
5.1.2 OLE文档151
5.1.3 自动化152
5.1.4 ActiveX控件153
5.1.5 ActiveX文档154
5.2 理解在企业应用中使用COM组件的技术155
5.2.1 多层软件结构模型156
5.2.2 多层软件应用中的COM组件类型158
5.2.3 组件的安装和注册159
5.3 在Visual C++中使用ActiveX控件——例程VCActiveX160
5.3.1 创建ActiveX控件包容器程序160
5.3.2 加载ActiveX控件161
5.3.3 设计时访问控件的属性164
5.3.4 运行时访问控件的属性和方法166
5.3.5 处理控件的事件167
5.4 在Visual C++中使用代码组件168
5.4.1 利用OLE/COM Obiect Viewer查看组件信息169
5.4.2 利用COM库函数使用代码组件——例程VCAuotCom171
5.4.3 通过ClassWizard使用代码组件——例程VCAuotClw174
5.4.4 利用#import指令使用代码组件——例程VCAutoImport176
5.4.4.1 #import指令和智能指针176
5.4.4.2 创建VCAutoImport例程178
5.5 在Visual Basic中使用COM组件180
5.5.1 使用ActiveX控件——例程VBActiveX180
5.5.2 使用代码组件——例程VBAuto184
5.6 在Web站点中使用COM组件187
5.6.1 COM在多层Web应用程序中的重要作用187
5.6.2 在客户端使用ActiveX控件188
5.6.3 在服务器端使用代码组件191
小结193
第6章 用VC开发COM应用195
6.1 VC对COM的支持195
6.1.1 类库支持:MFC和ATL196
6.1.2 比较MFC和ATL196
6.2 MFC对COM开发的支持197
6.2.1 MFC简介198
6.2.2 MFC对自动化的支持200
6.2.2.1 MFC AppWizard支持200
6.2.2.2 CCmdTarget类支持201
6.2.3 MFC对复合文档的支持202
6.2.4 MFC对ActiveX控件的支持203
6.3 使用MFC开发COM组件——例程MFCSample204
6.3.1 创建一个进程内自动化组件工程204
6.3.2 分析新建工程文件205
6.3.3 添加COM对象类207
6.3.4 为接口添加属性207
6.3.5 为接口添加方法209
6.3.6 创建并测试组件210
6.4 探讨MFC实现COM的内幕210
6.4.1 MFC COM对象的实现210
6.4.2 MFC COM引出函数和类厂实现216
6.5 ATL基础知识219
6.5.1 ATL简介219
6.5.2 模板和多继承220
6.5.3 几个重要的类222
6.5.3.1 CComModule223
6.5.3.2 CComObjectRoot/CComObjectRootEx223
6.5.3.3 CComCoClass224
6.5.3.4 CComObject224
6.6 使用ATL开发COM组件——例程ATLSample224
6.6.1 创建一个新的ATL工程224
6.6.2 分析工程文件226
6.6.3 添加新的对象类228
6.6.4 为接口添加属性231
6.6.5 为接口添加方法233
6.6.6 创建并测试组件235
6.7 探讨ATL实现COM的内幕235
6.7.1 ATL COM对象的实现235
6.7.2 ATL COM引出函数和类厂实现236
6.7.3 注册脚本文件(.RGS)238
6.8 调试COM组件239
6.8.1 调试COM组件DLL239
6.8.2 调试COM组件EXE239
小结240
第7章 自动化241
7.1 自动化技术基础241
7.1.1 自动化:C++与VBA的桥梁241
7.1.2 自动化组件与自动化客户242
7.1.3 IDispatch接口243
7.1.3.1 GetTypeInfoCount和GetTypeInfo244
7.1.3.2 GetIDsOfNames244
7.1.3.3 Invoke244
7.1.4 类型库和ODL245
7.1.5 VARIANT数据类型247
7.2 用MFC开发自动化组件——例程MFCSampleExe249
7.2.1 创建最小的MFC自动化EXE工程249
7.2.2 添加COM对象类、接口、属性和方法251
7.2.3 在Excel中测试组件252
7.3 用ATL开发自动化组件——例程ATLSampleExe254
7.3.1 利用ATL COM AppWizard创建进程外组件254
7.3.2 分析ATL进程外组件与进程内组件的差别255
7.3.2.1 文件生成差别255
7.3.2.2 StdAfx.h文件差别255
7.3.2.3 ATLSampleExe.cpp文件差别256
7.3.3 增加COM对象类、属性和方法257
7.3.4 测试ATL SanpleExe.Account中测试组件258
7.4 位于业务逻辑层的代码组件258
7.4.1 ADO对象模型和基本编程模型258
7.4.2 在Visual C++中使用ADO260
7.4.2.1 使用#import指令261
7.4.2.2 利用ClassWizard加载ADO对象类263
7.4.2.3 通过COM API使用ADO264
7.4.3 创建使用ADO的代码组件——例程ADOSamp265
7.4.4 创建数据源269
7.4.5 编写客户程序272
7.4.6 三层软件应用模型275
小结275
第8章 OLE文档与ActiveX文档277
8.1 OLE文档基础知识277
8.1.1 OLE文档服务器与包容器278
8.1.2 OLE服务体系结构280
8.1.3 链接与嵌入技术282
8.1.4 现场激活技术285
8.1.5 MFC对OLE文档的支持287
8.2 创建现场激活OLE服务器——例程ScribbleOle289
8.2.1 预览ScribbleOle程序289
8.2.2 利用AppWizard创建OLE服务器工程291
8.2.3 将OLE相关文件添进Scribble工程292
8.2.4 使ScribbleOle真正具有OLE服务器特性293
8.2.5 编辑OLE相关资源296
8.2.6 为文档类添加程序特定的服务器支持298
8.2.7 实现服务器对象300
8.2.8 在视图类中实现现场支持301
8.2.9 创建并测试OLE服务器303
8.3 创建OLE包容器——例程Container303
8.3.1 创建新的OLE包容器工程并测试303
8.3.2 分析工程代码304
8.3.2.1 CContainerApp304
8.3.2.2 CContainerView305
8.3.2.3 CContainerCntrItem307
8.3.3 实现客户对象矩形308
8.3.4 实现鼠标点击激活309
8.3.5 实现对象的移动和改变大小311
8.3.6 绘制多个嵌入对象312
8.3.7 实现嵌入对象的删除313
8.3.8 创建并测试Container程序313
8.4 ActiveX文档——例程ScribbleActiveX314
8.4.1 比较ActiveX文档与OLE文档(用户角度)314
8.4.2 比较ActiveX文档与OLE文档(开发者角度)315
8.4.3 开发ActiveX文档服务器316
8.4.4 将OLE文档转换服务器改造为ActiveX文档服务器317
8.4.5 在IE中测试ScribbleActiveX318
8.4.6 ActiveX文档包容器程序的实现319
小结321
第9章 ActiveX控件323
9.1 ActiveX控件基础知识323
9.1.1 ActiveX控件的发展历史323
9.1.2 ActiveX控件基本要求325
9.1.3 库存属性、方法和事件326
9.1.4 ActiveX控件与包容器的通信327
9.1.4.1 IOleControl接口328
9.1.4.2 IOleControlSite接口328
9.1.5 属性页技术330
9.2 Visual C++对ActiveX控件的支持331
9.2.1 MFC对ActiveX控件的封装331
9.2.2 ATL对ActiveX控件的封装332
9.2.2.1 CcomControl类332
9.2.2.2 CComControlBase333
9.2.2.3 CWindowImpl和CWindowImplBase333
9.2.3 ActiveX Control Test Container333
9.3 用MFC开发ActiveX控件——例程MfcCircCtrl333
9.3.1 使用MFC ActiveX ControlWizard创建控件框架333
9.3.2 修改控件位图336
9.3.3 添加库存属性338
9.3.4 添加自定义属性341
9.3.5 添加事件345
9.3.6 实现属性表348
9.4 用MFC编写聚合控件——例程TimeSheet350
9.4.1 预览控件运行效果350
9.4.2 添加MFC ActiveX Form ClassWizard AppWizard350
9.4.3 创建timesheet控件并添加MSFlexGird控件351
9.4.4 编辑timesheet控件的单元格356
9.4.5 创建并测试timesheet控件358
9.5 用ATL开发ActiveX控件——例程AtlTickerCtrl359
9.5.1 预览控件效果359
9.5.2 创建工程框架添加控件对象360
9.5.3 分析代码并测试新控件362
9.5.4 实现滚动显示363
9.5.5 提供修改滚动速度的接口365
9.5.6 获取股价信息366
9.5.7 绘制控件367
9.5.8 响应环境属性的变化369
9.5.9 增加事件370
9.5.10 为库存属性设置缺省值372
9.5.11 实现属性表373
小结376
第10章 Internet COM组件377
10.1 ActiveX控件与Internet377
10.1.1 Internet对ActiveX控件提出的新要求377
10.1.2 ActiveX控件的安全设置379
10.1.2.1 设置初始化安全性379
10.1.2.2 设置脚本安全性380
10.1.2.3 安全标志的局限性380
10.1.3 设置ActiveX控件的安全级别381
10.1.3.1 修改注册表381
10.1.3.2 使用IObjectSafety382
10.1.4 ActiveX控件的数字签名383
10.1.5 Active控件的使用许可384
10.1.6 包装AcitveX控件385
10.2 改造Ticker控件——例程IETickerCtrl388
10.2.1 ATL轻型控件388
10.2.2 标记控件为初始化/脚本安全389
10.2.3 持续属性391
10.3 在ActiveX控件中访问DOM对象393
10.3.1 什么是DOM(文档对象模型)393
10.3.2 在ActiveX控件中访问DoM——例程DOMSamp395
10.3.3 测试DOMCtrl控件398
10.4 活动服务器组件399
10.4.1 活动服务器页面(ASP)399
10.4.2 ASP内建对象400
10.4.2.1 Application对象400
10.4.2.2 Session对象401
10.4.2.3 Request对象401
10.4.2.4 Response对象401
10.4.2.5 Server对象401
10.4.2.6 ObjectContext对象401
10.4.3 创建活动服务器组件——例程ASPComSamp401
10.4.4 在ASP中测试ASPComp组件406
小结407
第11章 从COM到COM+:DcoM、MTS409
11.1 从COM到COM+410
11.2 分布式COM(DCOM)411
11.2.1 什么是DCOM412
11.2.2 DCOM特性412
11.2.3 DCOM的基本结构413
11.2.4 列集(marshaling)415
11.2.5 RPC(远过程调用)415
11.2.6 DCOM对象的定位与远程激活416
11.2.6.1 用DCOM配置工具指定远程服务器名416
11.2.6.2 在客户代码中指定远程服务器名417
11.2.7 远程创建DLL组件:代理进程(surrogate)418
11.2.8 IUnknown优化418
11.2.9 DCOM安全机制419
11.3 DCOM组件的开发与部署420
11.3.1 基于NT服务的DCOM服务器——例程DCOMServ420
11.3.2 测试服务程序422
11.3.3 DCOMCNFG实用程序424
11.3.3.1 缺省属性425
11.3.3.2 缺省安全性426
11.3.3.3 缺省协议426
11.3.3.4 应用程序特定设置427
11.4 微软事务服务器(MTS)428
11.4.1 MTS概述428
11.4.1.1 MTS运行时环境429
11.4.1.2 MTS Explorer429
11.4.1.3 MTS APIs429
11.4.2 MTS应用基本结构430
11.4.2.1 应用组件430
11.4.2.2 资源管理器431
11.4.2.3 资源分发器431
11.4.2.4 Microsoft DTC431
11.4.3 MTS对象与环境对象431
11.4.3.1 MTS对象的环境对象432
11.4.3.2 创建MTS对象433
11.4.3.3 事务环境对象434
11.4.4 MTS客户434
11.4.5 事务(Transaction)434
11.4.6 即时激活(just-in-time activation)436
11.4.7 安全性控制437
11.4.7.1 基本的安全性函数437
11.4.7.2 高级安全性方法438
11.5 MTS组件的开发与管理438
11.5.1 MTS组件的要求439
11.5.2 创建一个简单的COM组件——例程MTSServ439
11.5.3 MTS Explorer440
11.5.4 将Account组件添加到MTS环境中442
11.5.5 运行并监控Account组件443
11.6 微软消息队列(MSMQ)444
11.6.1 何谓MSMQ445
11.6.2 MSMQ的好处445
11.6.3 MSMQ组件446
11.6.3.1 队列446
11.6.3.2 消息446
11.6.4 MSMQ对象模型446
11.6.5 消息发送447
11.6.5.1 生成MSMOQueueInfo对象447
11.6.5.2 设置去队列的路径448
11.6.5.3 生成和打开队列448
11.6.5.4 生成MSMQMessage对象448
11.6.5.5 填入消息内容448
11.6.5.6 发送消息449
11.6.5.7 关闭队列449
11.6.6 消息接收449
11.6.7 MSMQ事件450
11.6.7.1 生成消息事件对象450
11.6.7.2 设置事件450
11.6.7.3 生成事件处理器451
小结451
第12章 COM+服务453
12.1 COM+概述453
12.1.1 Windows DNA策略454
12.1.2 COM+基本结构455
12.1.3 COM+程序管理工具456
12.2 COM+系统结构457
12.2.1 COM+组件458
12.2.2 COM+目录458
12.2.3 COM+环境461
12.3 COM+对MTS服务的增强463
12.3.1 事务特性463
12.3.2 安全性464
12.3.3 同步服务466
12.3.4 COM+对象池467
12.4 COM+新增系统服务468
12.4.1 COM+队列组件469
12.4.2 COM+事件模型471
12.4.3 负载平衡473
12.3.4 内存数据库474
小结476
第13章 COM+应用开发477
13.1 最简单的COM+组件——例程Stepl477
13.1.1 创建一个最简单的COM+组件477
13.1.2 创建一个空的COM+应用程序478
13.1.3 将Account组件安装到COM+应用程序中480
13.1.4 运行和监控Account组件482
13.2 使用ODBC资源分发器——例程Step2483
13.2.1 创建数据源483
13.2.2 修改Step1程序483
13.2.3 重新安装并测试组件487
13.3 创建规模可变的组件——例程Step3488
13.3.1 即时激活特性489
13.3.2 修改Step2程序489
13.3.3 重新安装并测试组件490
13.4 创建事务性组件——例程Step4490
13.4.1 修改Step3程序并重新安装组件491
13.4.2 为组件设置事务属性493
13.4.3 监控事务操作494
13.5 利用共享属性管理器共享状态——例程Step5496
13.5.1 共享属性管理器496
13.5.2 修改Step4程序497
13.5.3 测试组件500
13.6 使用多事务处理——例程Step6501
13.6.1 修改Step5程序501
13.6.2 测试组件505
13.7 使用基于角色的安全性——例程Step7506
13.7.1 修改Step6程序并测试506
13.7.2 添加或删除角色507
13.7.3 给角色分配用户帐户或组507
13.7.4 重新测试组件508
小结509
热门推荐
- 1612440.html
- 3038868.html
- 3337714.html
- 1140304.html
- 2608745.html
- 70622.html
- 2834488.html
- 306116.html
- 949925.html
- 613591.html
- http://www.ickdjs.cc/book_3630864.html
- http://www.ickdjs.cc/book_553186.html
- http://www.ickdjs.cc/book_2029972.html
- http://www.ickdjs.cc/book_2256386.html
- http://www.ickdjs.cc/book_757892.html
- http://www.ickdjs.cc/book_2988406.html
- http://www.ickdjs.cc/book_3004165.html
- http://www.ickdjs.cc/book_954551.html
- http://www.ickdjs.cc/book_3484773.html
- http://www.ickdjs.cc/book_1417400.html