CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 该资料是《COM技术内幕——微软组件对象模型》一书的随书源代码 COM技术内幕——微软组件对象模型 基本信息 原书名: Inside COM: Microsoft's Component Object Model with Cdrom 原出版社: Microsoft Press 作者: (美)Dale Rogerson 译者: 杨秀章 丛书名: 微软版权图书 出版社:清华大学出版社 ISBN:730203320X 上架时间:2001-10-11 出版日期:1999 年3月 页码:293 版次:1-1 所属分类:计算机 > 软件与程序设计 > COM/DCOM/ATL/COM+ 内容简介 微软公司的组件对象模型(COM)作为一种重要的工具已崭露头角,它是微软迈向分布式计算的基础。不论现在还是将来,它都是定制应用程序的一种强大的方法。并且它是OLE和ActiveX 的基础。COM帮助你理解未来的程序开发技术,而这本书帮助你理解COM。在本书中你将发现:构建优美的COM组件的清晰、简单、实用的规则;COM是如何易学易用,特虽是对那些熟练掌握C++ 的人;循序渐进地介绍COM设计;以代码形式给出的大量实例。 《COM技术内幕》适合于中、高级C++程序员;COM、ActiveX和OLE程序员;对组件设计感兴趣的研究人员;以及那些当COM移植到UNIX、MVS和其他环境时想要使用到COM的程序员。 编辑推荐 微软公司的组件对象模型(COM)作为一种重要的工具已崭露头角,它是微软迈向分布式计算的基础。不论现在还是将来,它都是定制应用程序的一种强大的方法。并且它是OLE和ActiveX 的基础。COM帮助你理解未来的程序开发技术,而这本书帮助你理解COM。在本书中你将发现:构建优美的COM组件的清晰、简单、实用的规则;COM是如何易学易用,特虽是对那些熟练掌握C++ 的人;循序渐进地介绍COM设计;以代码形式给出的大量实例。 目录 封面 -17 扉页 -16 版权 -15 译者前言 -14 目录 -13 引言 -6 第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 COM 6 1.3.1 COM组件是…… 7 1.3.2 COM不是…… 7 1.3.3 COM库 8 1.3.4 COM方法 8 1.3.5 COM超越了用户的需要 8 1.4 本章小结 9 第2章 接口 11 2.1 接口的作用 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 接口理论:第二部分 20 2.3.1 接口的不变性 20 2.3.2 多态 20 2.4 接口的背后 21 2.4.1 虚拟函数表 21 2.4.2 vtbl指针及实例数据 23 2.4.3 多重实例 24 2.4.4 不同的类,相同的vtbl 24 2.5 本章小结 26 第3章 QueryInterface函数 27 3.1 接口查询 28 3.1.1 关于IUnknown 28 3.1.2 IUnknown指针的获取 29 3.1.3 关于QueryInterface 29 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 同一IUnknown 40 3.3.2 客户可以获取曾经得到过的接口 41 3.2.3 可以再次获取已经拥有的接口 41 3.2.4 客户可以从任何接口返回到起始接口 42 3.2.5 若能够从某接口获取某特定接口,则从任意接口都将能够获取此接口 42 3.3 QueryInterface定义了组件 43 3.3.1 接口集 44 3.4 新版本组件的处理 44 3.4.1 何时需要建立一个新版本 46 3.4.2 不同版本接口的命名 46 3.4.3 隐含合约 46 3.5 本章小结 47 第4章 引用计数 48 4.1 生命期控制 48 4.2 引用计数简介 49 4.2.1 引用计数接口 52 4.2.2 AddRef和Release的实现 53 4.3 何时进行引用计数 60 4.3.1 引用计数的优化 60 4.3.2 引用计数规则 63 4.4 本章小结 65 第5章 动态链接 66 5.1 组件的创建 66 5.1.1 从DLL中输出函数 67 5.1.2 DLL的装载 69 5.2 客户和组件的划分 71 5.2.1 程序清单 72 5.3 对象串 77 5.4 本章小结 78 第6章 关于HRESULT、QUID、注册表及其他细节 79 6.1 HRESULT 79 6.1.1 HRESULT值的查找 81 6.1.2 HRESULT值的使用 83 6.1.3 用户自己代码的定义 84 6.2 GUID 86 6.2.1 为什么要使用GUID 86 6.2.2 GUID的声明和定义 87 6.2.3 GUID的比较 89 6.2.4 将GUID作为组件标识符 90 6.2.5 通过引用传递GUID值 90 6.3 Windows注册表 90 6.3.1 注册表的组织 90 6.3.2 注册表编辑器 90 6.3.3 CLSID关键字结构 91 6.3.4 关于注册表的其他细节 92 6.3.5 ProjID 93 6.3.6 自注册 95 6.3.7 组件类别 96 6.3.8 OleView 97 6.4 COM库函数 98 6.4.1 COM库的初始化 98 6.4.2 内存管理 98 6.4.3 将字符串转化成GUID 99 6.5 本章小结 101 第7章 类厂 102 7.1 CoCreateInstance 102 7.1.1 CoCreateInstance的声明 103 7.1.2 CoCreateInstance的使用 103 7.1.3 类上下文 104 7.1.4 客户程序清单 105 7.1.5 CoCreateInstance的不灵活性 107 7.2 类厂 107 7.2.1 CoGetClassObject 107 7.2.2 IClassFactory 108 7.2.3 CoCreateInstance与CoGetClassObjet的比较 109 7.2.4 类厂的若干特性 110 7.3 类厂的实现 110 7.3.1 DllGetClassObject的使用 111 7.3.2 组件的创建过程 111 7.3.3 组件代码清单 112 7.3.4 流程控制 119 7.3.5 组件的注册 120 7.4 同一DLL中的多个组件 121 7.4.1 类厂实现的复用 122 7.5 DLL的卸载 123 7.5.1 DllCanUnloadNow的使用 123 7.5.2 LockServer 123 7.6 本章小结 124 第8章 组件复用:包容与聚合 125 8.1 包容和聚合 126 8.1.1 包容简介 126 8.1.2 聚合简介 127 8.1.3 包容与聚合的比较 127 8.2 包容的实现 128 8.2.1 接口扩展 131 8.3 聚合的实现 132 8.3.1 QueryInterface的实现 133 8.3.2 不正确的IUnkown 135 8.3.3 聚合的未知接口 136 8.3.4 内部组件的创建 140 8.3.5 外部组件中指向内部组件接口的指针 143 8.4 一个完整的例子 145 8.4.1 盲目聚合 161 8.5 现实世界中的聚合和包容 163 8.5.1 组件的内部状态信息 163 8.5.2 虚拟函数的模拟 165 8.6 本章小结 166 第9章 编程工作的简化 167 9.1 客户端的简化 167 9.1.1 智能接口指针 168 9.1.2 C++包装类 179 9.2 服务器端的简化 180 9.2.1 未知接口基类 181 9.2.2 类厂基类 185 9.2.3 CUnkown和CFactory的使用 191 9.2.4 集成步骤 196 9.3 本章小结 197 第10章 EXE中的服务器 198 10.1 不同的进程 198 10.1.1 本地过程调用 199 10.1.2 调整 200 10.1.3 代理/残根DLL 200 10.2 IDL/MIDL简介 202 10.2.1 关于IDL 202 10.2.2 IDL接口描述举例 203 10.2.3 MIDL编译器 208 10.3 本地服务器的实现 212 10.3.1 示例程序的运行 212 10.3.2 去掉入口点函数 213 10.3.3 类厂的启动 213 10.3.4 对LockServer的修改 217 10.4 远程访问能力 219 10.4.1 DCOMCNFG.EXE所完成的工作 220 10.4.2 工作机理 221 10.4.3 其他DCOM信息 222 10.5 本章小结 224 第11章 调度接口与自动化 225 11.1 一种新的通信方式 226 11.1.1 旧的通信方式 226 11.1.2 IDispatch接口 226 11.2 IDispatch的使用 230 11.2.1 Inuoke函数的参数 232 11.2.2 示例 237 11.2.3 VARIANT类型 239 11.2.4 BSTR数据类型 241 11.2.5 SAFEARRAY类型 242 11.3 类型库 243 11.3.1 类型库的创建 243 11.3.2 类型库的使用 246 11.3.3 注册表中的类型库 247 11.4 IDispatch接口的实现 248 11.4.1 异常的引发 250 11.4.2 参数调整 251 11.5 本章小结 252 第12章 多线程 253 12.1 COM线程模型 254 12.1.1 WIN32线程 254 12.1.2 COM线程 254 12.1.3 套间 255 12.1.4 套间线程 257 12.1.5 自由线程 258 12.1.6 调整与同步 258 12.2 套间线程的实现 260 12.2.1 自动调整 261 12.2.2 手工调整 261 12.2.3 编码 262 12.2.4 对套间线程例子的说明 263 12.3 自由线程的实现 270 12.3.1 对自由线程例子的说明 271 12.3.2 自由线程参数调整的优化 276 12.4 关于线程模型的注册表关键字 278 12.5 本章小结 278 第13章 一个完整的例子 280 13.1 Tangram 程序 281 13.1.1 Tangram的运行 281 13.1.2 所用的组件 282 13.1.3 客户程序 282 13.1.4 TangramModel组件 283 13.1.5 TangramGdiVisual和TangramGLVisual组件 284 13.1.6 TangramGdiWorld和TangramGLWorld组件 285 13.2 展示 286 13.3 IDL文件 286 13.3.1 DLIDATA.C文件 287 13.4 循环引用计数 287 13.4.1 不调用AddRef 288 13.4.2 使用显示终止 288 13.4.3 使用一个单独的组件 289 13.5 事件和连接点 290 13.5.1 IEnumXXX 292 13.6 本章小结 293 结束语 294
- 粉丝: 156
- 资源: 104
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- STM32单片机FPGA毕设电路原理论文报告一种基于单片机的节能断电保护电路设计
- STM32单片机FPGA毕设电路原理论文报告一种基于单片机的机床位移检测系统
- unity3D翻书插件
- STM32单片机FPGA毕设电路原理论文报告一种基于单片机的红外测控系统
- Date(1).cpp
- java基于ssm珠宝商城购物网站案例设计
- STM32单片机FPGA毕设电路原理论文报告一种基于单片机的灯光调光控制系统开发
- STM32单片机FPGA毕设电路原理论文报告一种基于单片机的超声测距系统的设计
- Visual Basic快速入门.md
- STM32单片机FPGA毕设电路原理论文报告一种基于单片机的半导体激光器电源控制系统的设计
- 1
- 2
- 3
- 4
- 5
前往页