
| 全书分为三部分,第一部分为COM基础,第二部分为COM扩展,第三部分为COM应用与发展,介绍了组件化程序设计思想以及多层软件结构模型。读者在学习了COM的基本原理之后,结合MTS和COM+所倡导的一些概念,就可以从更高的层次来理解和使用COM及COM+了。 |
| 潘爱民,浙江海宁人,获得了南开大学数学学士学位,清华大学工学硕士学位,以及北京大学计算机科学博士学位。他从中学时代开始接触计算机编程,经历了从DOS到Windows各种版本的发展历程。潘爱民曾经长期从事软件技术的研究和开发工作,撰写了大量软件技术文章,1999年曾经是《微电脑世界》杂志社的合作专家。他著写了《COM原理与应用》(1999年出版),翻译了多部经典名作,如《Visual C++技术内幕》(第四、六版)、《C++ Primer中文版》(第三版)、《COM本质论》、《计算机网络》(第四版)等。从2001年开始,潘爱民在北京.. << 查看详细 |
| 引言 第1部分 com原理 第1章 概述 1.1 com的起源 1.1.1 0le的发展历史 1.1.2 组件的产生 1.1.3 面向对象的组件模型——com 1.2 com结构 1.2.1 对象与接口 1.2.2 客户/服务器模型 1.2.3 com库 1.3 com特性 1.3.1 语言无关性 1.3.2 进程透明特性 1.3.3 可重用性 1.4 com的发展前景 1.4.1 com与windows操作系统 1.4.2 com与数据库 1.4.3 com与intranet应用 1.4.4 com与internet . 第2章 com对象和接口 2.1 com对象 2.1.1 com对象的标识——clsid 2.1.2 com对象与c++对象的 2.2 com接口 2.2.1 从api到com接口 2.2.2 接口定义和标识 2.2.3 用c++语言定义接口 2.2.4 接口描述语言idl 2.2.5 接口的内存模型 2.2.6 接口的一些特点 2.3 iunknown接口 2.3.1 引用计数 2.3.2 实现引用计数 2.3.3 使用引用计数规则 2.3.4 接口查询 2.3.5 com对象的接口原则 2.3.6 queryinterface成员函数的实现 2.3.7 com对象和接口图示法 2.4 字典组件例子程序 2.4.1 组件程序dictcomp 2.4.2 客户程序dictctrl 第3章 com的实现 3.1 进程内组件和进程外组件 3.1.1 进程内组件 3.1.2 进程外组件 3.2 通过注册表管理com对象 3.2.1 注册表结构 3.2.2 com组件注册信息 3.2.3 com组件的注册操作 3.3 类厂(c1ass factory) 3.3.1 类厂和dllgetobjectclass函数 3.3.2 com库与类厂的交互 3.3.3 类厂的实现 3.3.4 类厂对组件生存期的控制 3.4 com库 3.4.1 com库的初始化 3.4.2 com库的内存管理 3.4.3 组件程序的装载和卸载 3.4.4 常用函数和hresult 3.5 com实现过程 3.5.1 进程内组件与客户的协作过程 3.5.2 进程外组件与客户的协作过程 3.6 字典组件例子程序的实现 3.6.1 字典组件类厂的实现 3.6.2 字典对象的实现 3.6.3 全局引出函数的实现 3.6.4 客户程序dictctrl 第4章 com特性 4.1 可重用性:包容和聚合 4.1.1 包容和聚合 4.1.2 包容实现 4.1.3 聚合实现 4.1.4 聚合例子程序 4.2 进程透明性 4.2.1 列集(marshaling) 4.2.2 自定义列集 4.2.3 标准列集 4.2.4 标准列集的实现 4.2.5 进程外组件例子程序 4.3 安全性 4.3.1 windows nt安全机制 4.3.2 激活安全性 4.3.3 调用安全性 4.4 多线程特性 4.4.1 win32线程和com线程 4.4.2 列集和同步 4.4.3 套间线程 4.4.4 自由线程 4.4.5 进程内组件的线程模型 第5章 用visual c++开发com应用 5.1 win32 sdk和mfc介绍 5.1.1 win32 sdk 5.1.2 mfc基础:应用类和窗口类 5.1.3 mfc应用结构 5.1.4 mfc库结构 5.2 mfc对com应用的支持 5.2.1 用嵌套类实现com接口 5.2.2 接口映射表 5.2.3 ccmdtarget类实现iunknown 5.2.4 com引出函数和类厂实现 5.2.5 mfc对com支持小结 5.3 用visual c++开发com应用 5.3.1 利用appwizard创建com程序工程框架 5.3.2 利用c1asswizard添加com对象类 5.3.3 atl介绍 5.4 visual c++与activex应用 5.4.1 mfc对自动化的支持 5.4.2 mfc对activex控制的支持 5.4.3 mfc对复合文档的支持 第2部分 com扩展 第6章 可连接对象 6.1 可连接对象结构模型 6.1.1 客户与可连接对象的关系 6.1.2 可连接对象的基本结构 6.1.3 客户方基本结构 6.2 实现可连接对象(源对象) 6.2.1 枚举器 6.2.2 源对象和iconnectionpointcontainer接口 6.2.3 连接点和iconnectionpoint接口 6.2.4 建立连接过程 6.3 客户—源对象—接收器的协作过程 6.3.1 接收器的实现 6.3.2 事件的激发和处理 6.3.3 与出接口有关的类型信息 6.4 可连接对象的程序实现 6.4.1 用idispatch接口作为出接口 6.4.2 mfc对连接和事件的支持 6.4.3 用mfc实现源对象 6.4.4 用mfc在客户程序中实现接收器 第7章 结构化存储 7.1 结构化存储基础 7.1.1 从文件系统进展到结构化存储 7.1.2 存储对象和流对象 7.1.3 用结构化存储设计应用 7.2 结构化存储特性 7.2.1 访问模式 7.2.2 事务机制 7.2. 3 命名规则 7.2.4 增量访问 7.3 结构化存储实现:复合文档 7.3.1 lockbytes对象和ilockbytes接口 7.3.2 复合文档api函数介绍 7.3.3 零内存保存特性和irootstorage接口 7.3.4 存储对象、流对象和文件的clsid信息 7.3.5 复合文档与结构化存储 7.4 永久对象实现 7.4.1 永久接口 7.4.2 永久对象的存储特性 7.4.3 永久对象例子程序 7.4.4 复合文档例子程序 7.5 本章小结 第8章 命名和绑定技术 8.1 名字技术基础 8.1.1 com名字对象 8.1.2 使用名字对象:绑定过程 8.2 imoniker接口 8.2.1 名字管理 8.2.2 利用imoniker实现绑定 8.2.3 管理复合名字对象 8.2.4 名字解析 8.3 复合名字对象 8.3.1 复合名字对象结构 8.3.2 rot和绑定环境对象 8.3.3 复合名字对象绑定过程的剖析 8.3.4 io1eitemcontainer接口 8.4 com名字对象分类 8.4.1 com提供的系统名字对象 8.4.2 url名字对象 8.4.3 自定义名字对象 8.5 com名字对象的应用 8.5.1 服务程序中名字对象的应用 8.5.2 客户程序中名字对象的应用 第9章 统一数据传输 9.1 统一数据传输基础 9.1.1 数据交换与传输协议的分离 9.1.2 应用:剪贴板和拖—放 9.2 数据传输机制 9.2.1 数据结构formatetc和stgmedium 9.2.2 数据对象和idataobject接口 9.2.3 通报连接机制 9.2.4 有关数据对象的小结 9.3 通过剪贴板传输数据 9.3.1 剪贴板协议机理和用法 9.3.2 mfc对剪贴板的支持 9.3.3 支持剪贴板操作的例子程序 9.4 拖—放数据传输协议 9.4.1 0le拖—放传输协议 9.4.2 mfc对拖—放特性的支持 9.4.3 支持拖—放特性的例子程序 第10章 分布式com(dcom) 10.1 dc0m基本结构 10.1.1 从com转向dcom 10.1.2 dcom对象的定位 10.1.3 列集(marshaling) 10.1.4 对象rpc 10.1.5 dcom特性 10.2 对象激活 10.2.1 创建c0m组件(一) 10.2.2 创建dcom组件(二) 10.2.3 远程创建进程内组件:代理进程(surrogate) 10.2.4 如何连接到指定的远程对象实例 10.3 连接管理 10.3.1 更好地控制远程对象的生存期 10.3.2 pinging机制 10.3.3 连接点管理 10.3.4 连接传递 10.4 并发管理 10.4.1 线程模型 10.4.2 消息过滤器 10.5 dcom安全模型 10.5.1 安全性策略 10.5.2 安全性配置 10.6 本章小结 第3部分 com应用与发展 第11章 自动化(automation)对象 11.1 自动化对象基础 11.1.1 自动化产生与发展 11.1.2 属性和方法 11.1.3 类型库和0dl 11.1.4 idispatch接口 11.1.5 自动化兼容的数据类型 11.1.6 参数顺序、可选参数和命名参数 11.1.7 idisptchex接口 11.2 自动化对象实现 11.2.1 类型库支持 11.2.2 invoke函数实现 11.2.3 异常处理 11.2.4 多语种——本地化 11.2.5 用createstddispatch函数实现自动化对象 11.3 自动化对象应用 11.3.1 双接口 11.3.2 迟绑定和早绑定 11.3.3 自动化集合对象 11.3.4 以idispatch作为出接口 11.3.5 自动化控制器 11.4 自动化对象编程 11.4.1 mfc对自动化对象的支持 11.4.2 co1edispatchdriver类 11.4.3 在visual basic中使用自动化对象 11.5 例子程序 11.5.1 例子程序1——具有计算器功能的自动化对象 11.5.2 例子程序2——自动化客户程序 11.5.3 例子程序3——在excel中使用计算器对象 第12章 activex控制 12.1 activex控制基础 12.1.1 实地激活 12.1.2 属性页 12.1.3 属性变化通知 12.2 activex控制结构 12.2.1 activex控制基本结构 12.2.2 包容器基本结构 12.2.3 ioleobject和i01eclientsite接口 12.2.4 iolecontrol和iolecontrolsite接口 12.2.5 用于activex控制的标准分发圆 12.2.6 activex控制的其他一些特点 12.3 activex控制与internet 12.3.1 从桌面环境转向internet 12.3.2 包装activex控制 12.3.3 许可证管理 12.3.4 web页面中activex控制的初始化 12.3.5 脚本支持与初始化安全性 12.4 activex控制开发和应用 12.4.1 用mfc实现activex控制——smile例子程序 12.4.2 用mfc实现activex控制包容器——smiley领 第13章 基于com的程序设计 13.1 组件化程序设计 13.1.1 面向对象程序设计方法 13.1.2 组件的概念和特点 13.1.3 基于com的组件化程序设计方法 13.2 mts介绍 13.2.1 mts基本结构 13.2.2 mts程序设计概念 13.2.3 mts管理程序 13.2.4 mts特性 13.3 多层软件结构 13.3.1 应用结构的发展 13.3.2 多层应用软件结构 13.3.3 多层结构的优点 13.4 用com设计web应用 13.4.1 web应用基本结构 13.4.2 asp与com组件 13.5 本章小结 第14章 com发展——com+ 14.1 com+基本介绍 14.1.1 windows dna策略 14.1.2 com+基本结构 14.1.3 对象环境 14.2 com+系统服务介绍 14.2.1 com+队列组件 14.2.2 com+事件模型 14.2.3 负载平衡 14.2.4 内存数据库(imdb) 14.2.5 对其他服务的增强 14.3 com+应用开发 14.3.1 应用开发支持 14.3.2 基于属性的c++编程语言 14.4 本章小结 附录:部分术语英汉对照表 |
商品评论(0条)