![COM+编程指南[按需印刷]](http://images.china-pub.com/ebook/4804/zcover.jpg)
| 第l章 com+介绍 1.1 组件的革命 1.1.1 两个目标 1.1.2 单一的大模块与组件模型的比较 1.2 com的产生 1.3 什么是com 1.4 组件对象 1.5 服务器程序和客户端程序 1.6 com怎样工作:接口和虚函数表 1.6.1 接口 1.6.2 vtable(虚函数表) 1.7 iunknown 1.8 接口定义语言和类型库 1.9 全局惟一标识 1.10 com api 第2章 com基础:创建一个简单的组件和客户端程序 2.1 创建步骤 2.2 传统的stopwatch实现 2.2.1 最初的stopwatch的设计 2.2. 2 建立timers.dll库 .2.3 创建stopwatchclient.exe 2.4 回顾一下起点 2.5 添加iunknown 2.5.1 实现iunknown的两种方法 2.5.2 iunknown必须被完全实现 2.5.3 添加iunknown 2.6 实现queryinterface() 2.6.1 queryinterface()规则 2.6.2 生成guid 2.6.3 添加queryinterface() 2.6.4 调用queryinterface() 2.7 引用计数 2.7.1 实现引用计数 2.7.2 使用com引用计数 2.8 构建一个类工厂 2.9 使用comapl 2.9.1 注册服务器程序 2.9.2 初始化和取消初始化com 2.9.3 用cocreateinstance()实例化组件对象 2.10 回顾一下com组件的关键元素 第3章 atl介绍 3,1 使用atl应用程序向导创建com服务器程序 3.1.1 运行atl应用程序向导 3.1.2 完成向导 3.2 添加com对象 3.2.1 线程模式 3.2.2 接口 3.2.3 聚合 3.2.4 支持isupporterrorinfo 3.2.5 支持连接点 3.2.6 结束向导 3.3 增加stopwatch的方法和属性 3.3.1 声明方法和属性 3.3.2 添加计时代码 3.3.3 注册组件 3.4 通过客户端程序访问stopwatch组件 第4章 接口定义语言介绍 4.1 从midl编译器输出 4.2 idl基础 4.3 接口 4.3.1 接口标题属性 4.3.2 接口声明 4.4 c++接口定义 4.5 方法 4.6 参数 4.7 属性 4.7.1 属性的标志 4.7.2 读写属性 4.7.3 属性的附加参数 4.8 定义类型库 4.9 向stopwatch添加overhead属性 第5章 com的客户端程序及智能指针的使用 5.1 客户端程序概述 5.2 初始化和取消初始化com 子系统 5.3 实例化com对象 5.4 将com服务器程序定义导出到客户端程序 5.5 智能指针 5. 6 _com_ptr_t模板类 5.7 新类型的istopwatch 5.8 使用异常处理错误 5.9 混合使用智能指针与原始接口 5.10 跨com边界传递接口 5.11 另一com客户端程序示例 第6章 处理通称为bstr的com字符串 6.1 com字符串基础 6.1.1 unicode与ansi数据类型 6.1.2 olechar、lpolestr和lpcolestr 6.1.3 处理lpolestr 6.1.4 是否执行unicode编译 6.1.5 tchar 6.1.6 使用bstr处理不同大小的字符串 6.1.7 处理bstr的常用api函数 6.1.8 跨com边界的字符串内存管理 6.1.9 字符串转换函数 6.2 ccombstr 6.3 bstr t 6.4 选择字符串封装器 第7章 其他com数据类型 7.1 有效的com数据类型 7.2 使用variant bool的boolean值 7.3 变量数据类型 7.3.1 variant结构 7.3.2 常用变量处理api函数 7.3.3 ccomvariant 7.3.4 variant t 7.4 枚举 7.5 可选参数 7.6 指定默认值 7.7 传递数组 7.8 传递数目可变的自变量 7.9 传递com对象 第8章 浏览idispatch 8.1 创建支持双重接口的stopwatch组件 8. 1. 1 在idl中声明双重接口 8.1.2 接口继承和idispatch 8.1.3 在组件内实现idispatch 8.1.4 更新com映射 8.2 更改组件的版本 8.2.1 更新文件版本 8.2.2 更新注册表中的新clsid和类型库版本 8.3 测试idispatch接口 8.4 在c++com客户程序中调用idispatch接口 第9章 错误处理和组件调试 9.1 hreslut结构 9.2 使用定制hresult进行错误处理 9.3 详细错误处理 9.3.1 ierrorlnfo接口 9.3.2 isupporterrorlnfo接口 9.3.3 在stopwatch项目中添加isupporterrorinfo 9.3.4 在客户程序中使用详细错误处理 9.3.5 com error 9.4 调试atl代码 9.4.1 编写调试窗口的消息 9.4.2 使用atlassert()验证一切正常 9.4.3 调试queryinterface()和引用计数 9.5 在调试器中运行客户程序和服务器程序 第10章 事件 10.1 事件概述 10.2 连接点 10.3 创建支持事件的com服务器程序 10.3.1 接口设计 10.3.2 添加倒计时组件并定义它的接口 10.3.3 实现icountdown接口 10.3.4 实现连接点和激发事件 10.3.5 实现iprovideclasslnfo2 10.4 接收组件的事件通知 10.4.1 创建atl可执行文件 10.4.2 添加对话框 10.4.3 声明源接口实现 10.4.4 连接连接点 10.4.5 引用计数和连接点 10.4.6 使用内嵌监听器类避免循环引用计数 10.4.7 idispeventlmpl和idispeventsimplelmpl 第11章 activex 11.1 activex控件 11.2 开发一个activex控件 11.2.1 创建一个空的atl项目 11.2.2 添加一个控件模板 11.2.3 stopwatchcontrol对象 11.2.4 编译、调试stopwatch控件 11.2.5 为默认控件添加功能 11.2.6 添加一个按钮 11.2.7 添加一个定制属性页 11.2.8 持续性和属性包 第12章 dcom 12.1 为所有应用程序配置dcom默认设置 12.1.1 default properties 12.1.2 default security 12.1.3 default protocols 12.2 为dcom配置一个特定的应用程序 12.2.1 配置客户端程序计算机 12.2.2 配置服务器程序计算机 12.2.3 运行客户端程序 12.3 使用dcom编程 12.3.1 cocreateinstanceex() 12.3.2 一个dcom客户端程序示例 12.4 查找dcom故障 12.5 com安全api函数 12.5.1 使用colnitializesecurity()配置安全许可 12.5.2 扮演客户端程序的身份:colmpersonateclient() 12.5.3 用coqueryclientblanket()确定安全设置 12.6 调度 12.6.1 代理服务器和存根 12.6.2 定制调度 12.6.3 类型库调度 12.6.4 midl生成的代理服务器/存根 12.7 dcom小结 第13章 线程 13.1 线程模型模拟 13.1.1 单一线程模型 13.1.2 公寓线程模型 13.1.3 自由线程模型 13.1.4 双线程模型 13.1.5 线程中立模型 13.1.6 自由线程化调度器 13.2 跨公寓调度 13.2.1 拦截者--代理服务器和存根 13.2.2 使用工作者线程 13.3 与atl同步 13.4 异步com调用 13.4.1 在组件服务器程序中定义异步接口 13.4.2 异步地调用 13.4.3 异步方法完成通知 13.4.4 实现异步凹m服务器程序 第14章 com+的发展过程 14.1 为什么要用com+ 14.2 com+服务和术语介绍 14.2.1 组件服务 14.2.2 com+服务 14.2.3 配置组件 14.3 com+如何工作概述 14.3.1 对象上下文细述 14.3.2 并发和活动 14.4 com+事务 14.4.1 数据一致性 14.4.2 调用事务支持 14.4.3 事务流 14.4.4 资源管理器和资源分发器 14.4.5 补偿资源管理器 14.5 用排队组件编写分离应用程序 14.6 发布和预定事件服务 14.7 控制对象生存期来增加可升级性能 14.7.1 对象缓冲 14.7.2 即时激活 14.7.3 iobjectcontrol接口 14.8 共享属性管理器 14.9 基于角色的安全 14.10 准备就绪 第15章 建立com+系统 15.1 示例程序 15.2 创建一个可持续的组件 15.3 建立hotelreservation.exe客户端应用程序 15.4 com+应用程序 15.4.1 com=应用程序的两种类型 15.4.2 创建一个com+应用程序 15.4.3 配置一个com+应用程序 15.5 利用com+事件服务 15.5.1 创建事件类 15.5.2 把组件添加到componentservices 15.5.3 在componentservices中配置事件类 15.5.4 创建一个事件预定者 15.5.5 在componentservices中配置预定者 15.5.6 为预定者发布事件 15.6 排队组件 15.6.1 创建一个可队列化组件 15.6.2 把组件配置为排队组件 15.6.3 实例化并调用排队组件 15.6.4 使用队列事件的分离、异步预定者 15.7 com+事务 15.7.1 创建一个支持事务的组件 15.7.2 使用objectcontext参加事务 15.7.3 为事务支持配置组件 15.7.4 通过编程在事务中包含可执行程序 15.8 配置组件激活 15.8.1 对象缓冲 15.8.2 即时激活 15.8.3 利用组件内部的构造字符串 15.8.4 其他的activation设置 15.9 基于角色的安全 15.10 调试服务器程序组件 15.10.1 调试配置为库应用程序的服务器程序组件 15.10.2 配置为服务器应用程序/从active workspace调试 15.11 部署应用程序 15.11.1 应用程序代理服务器 15.11.2 服务器应用程序 15.12 使用atlcomappwizard建立一个mts兼容的应用程序 15.13 最后的想法 |
商品评论(0条)