书籍详情
COM+开发人员参考库
作者:(美)David Iseminger主编;宋丽红,叶小松等译
出版社:机械工业出版社
出版时间:2002-01-01
ISBN:9787111093626
定价:¥300.00
购买这本书可以去
内容简介
卷1:本书是“COM+开发人员参考库”套书的第1卷,详细介绍了COM+开发过程的关键技术和相关工具、即时(JIT)激活、使用微软接口定义语言(MIDL)来实现分布式应用程序中使用的接口等内容。本书实例丰富,讲述清晰,是广大计算机开发人员的自学指导书和技术参考书。卷2:这是一本关于COM+的参考书,全书共分为三个部分:第一部分是概述,介绍了本卷在此套“COM+开发人员参考库”中的地位,并对如何使用该参考库做了简要的说明,对其他各卷的内容也做了简单的介绍,最后给出了简单对象访问协议(SOAP)的一套规范说明;第二部分和第三部分是全书的核心,第二部分是COM+参考,内容包括管理对象、管理集合、管理接口、COM+对象、COM+接口、COM+函数和COM+枚举;第三部分是COM+工具编程参考,内容包括事务、对象、DTC接口、CRM接口、资源分配器接口、COM+测试接口、MTS支持接口、函数。卷3:本书是“COM+开发人员参考库”的第3卷。全面提供了COM编程的指导和应用程序开发的资料。组件对象模型(COM)是平台无关的、分布式、面向对象系统,它使软件组织能跨进程和跨机器进行互操作。本书适合Windows应用程序开发人员阅读。卷4:本书介绍COM+中的自动化技术(Automation),主要内容包括:自动化技术概述、提供ActiveX对象、访问ActiveX对象、标准对象及命名规则、分发接口及API函数、数据类型、结构和枚举、转换和操作函数、类型库及对象说明语言、类型说明接口、类型创建接口、错误处理接口、用户定义的数据类型以及API级格式化例程等。本书内容翔实,结构严谨,并包含了大量的VB、VC范例代码,读者可以结合代码前后的概念阐述,更加深入地理解自动化技术的工作原理和编程思路。卷5:本书是“COM+开发人员参考库”的第5卷,提供了关于结构化存储和ActiveX的必要编程信息,这两项技术都建立在COM基础之上。本卷还包括关于接口、函数、结构和枚举类型的详细内容。本书适合Windows应用程序开发人员阅读。
作者简介
暂缺《COM+开发人员参考库》作者简介
目录
卷1:
第一部分 概述
第1章 欢迎使用“COM+开发人员参考库”
1.1 “COM+开发人员参考库”的组织方式
1.2 本书的组织方式
第2章 充分利用微软开发人员资源之一
2.1 比较MSDN和MSDN在线
2.2 MSDN订阅
2.3 MSDN的使用
2.4 使用MSDN在线
第3章 “COM+开发人员参考库”使用指南
3.1 本卷内容
3.2 其他各卷内容
3.3 获得更多信息
第4章 理解Windows DNA 2000及COM+所处的位置
4.1 Windows DNA定义
4.2 关于Windows DNA
4.3 关于Windows DNA 2000
4.4 N层开发模型
4.4.1 从两层到N层应用程序
4.4.2 用户服务层和Windows DNA
4.4.3 业务服务层
4.4.4 数据服务层
第二部分 COM+编程指南
第5章 COM+应用程序概述
5.1 COM+应用程序的概念
5.2 COM+应用程序类型
5.3 COM+应用程序的组成部分
5.4 开发COM+应用程序
第6章 设计COM+应用程序
6.1 COM+设计理念和原则
6.2 创建分布式应用程序的微软工具
6.3 使用UML设计COM+应用程序
6.3.1 概念模型:应用程序的需求
6.3.2 逻辑模型:应用程序的定义和规划
6.3.3 物理模型:应用程序的体系结构
6.4 常用的COM+设计技巧
6.4.1 可扩展性设计
6.4.2 可用性设计
6.4.3 安全性设计
6.4.4 部署设计
6.5 特殊情况的高级COM+技术
6.6 优化COM+业务逻辑层之间的交互
6.6.1 优化COM+业务逻辑层与表示层之间的交互
6.6.2 优化COM+业务逻辑层与数据层之间的交互
第7章 COM+服务入门
7.1 第1步:创建一个事务组件
7.2 第2步:跨多组件扩展一个事务
7.3 第3步:重用组件
第8章 COM+提供的服务
8.1 上下文
8.1.1 激活
8.1 2 跨上下文调用的侦听
8.2 事务处理
8.2.1 事务基础
8.2.2 分布式事务
8.2.3 贯穿COM+的自动事务
8.2.4 事务编程
8.3 并发性
8.3.1 组件和线程
8.3.2 同步
8.4 COM+中的安全性
8.4.1 基于角色的安全性
8.4.2 验证客户
8.4.3 扮演客户
8.4.4 保证库应用程序的安全性
8.4.5 保证多层应用程序的安全
8.4.6 组件编程的安全性
8.5 对象缓冲
8.5.1 对象缓冲池的工作原理
8.5.2 用对象缓冲改善性能
8.5.3 对可缓冲对象的要求
8.5.4 缓冲池事务对象
8.5.5 控制对象的生命期和状态
8.5.6 使用对象构造器字符串
8.6 即时激活
8.6.1 设置完成位
8.6.2 事务和JIT激活
8.6.3 对象缓冲和JIT激活
8.7 排队组件
8.7.1 排队组件的体系结构
8.7.2 消息解决方案
8.7.3 排队处理的好处
8.7.4 使用队列
8.7.5 事务消息排队
8.7.6 排队组件的例子
8.7.7 开发限制
8.7.8 开发排队组件
8.7.9 启动排队组件
8.7.10 标识排队组件
8.7.11 激活排队组件
8.7.12 例外处理
8.7.13 使用排队组件的安全性
8.7.14 排队组件的相互依赖性
8.8 COM+事件
8.8.1 COM+事件模型
8.8.2 COM+事件体系结构
8.8.3 产生事件
8.8.4 投递事件
8.8.5 使用排队组件构造事件
8.8.6 过滤事件
8.8.7 COM+事件例子
8.9 共享属性管理器
8.10 补偿资源管理器
第9章 编写COM+应用程序组件
9.1 编写事务组件
9.2 编写安全组件
9.3 编写可缓冲组件
9.4 编写排队组件
9.5 编写COM+事件组件
9.6 处理COM+中的错误
9.6.1 COM+错误处理策略
9.6.2 COM+怎样修改返回值
9.6.3 错误隔离和错误快速处理策略
9.6.4 找到错误的来源
9.6.5 错误代码解释
9.6.6 故障诊断
9.6.7 联系支持
9.7 调试COM+应用程序
9.7.1 调试用C++编写的组件
9.7.2 调试用Visual Basic编写的组件
第10章 创建和配置COM+应用程序
10.1 创建COM+应用程序
10.1.1 创建新的COM+应用程序
10.1.2 安装新组件
10.1.3 导入组件
10.1.4 从COM+应用程序中删除组件
10.1.5 删除COM+应用程序
10.2 配置COM+应用程序
10.2.1 配置事务
10.2.2 配置同步
10.2.3 安全设置
10.2.4 配置对象缓冲
10.2.5 配置JIT激活
10.2.6 配置队列
10.2.7 配置COM+事件
10.2.8 配置库应用程序
10.2.9 在调用者上下文中实施激活
10.3 从MTS包到COM+应用程序的转换
10.3.1 MTS的自动转换
10.3.2 MTS的人工转换
10.3.3 COM+转换的结果和问题
10.4 自动化COM+管理
10.4.1 COMAdmin对象概述
10.4.2 在COM+目录中检索集合
10.4.3 在COM+目录中设置属性和保存更改
10.4.4 处理管理错误
10.4.5 事务内的管理操作
10.4.6 MTS管理库
第11章 COM+应用程序的部署和注册
11.1 部署COM+应用程序
11.2 部署应用程序代理
11.3 COM+目录
11.4 COMREPL复制工具
11.4.1 COMREPL的使用
11.4.2 从复制中能得到什么
11.4.3 复制的步骤
11.4.4 文件管理
11.4.5 日志和错误报告
第三部分 COM+工具编程指南
第12章 微软分布式事务协调器
12.1 事务属性
12.2 分布式事务
12.2.1 分布式事务的工作原理
12.2.2 从应用程序开发人员的角度看事务
12.2.3 从资源管理器的角度看事务
12.2.4 从事务管理器角度看事务
12.3 提交协调
12.3.1 只读提交优化
12.3.2 委派提交优化
12.4 携带自己的事务
12.4.1 创建BYOT对象
12.4.2 继承人工事务
12.5 其他事务标准
12.5.1 X/Open分布式事务处理标准
12.5.2 OLE 事务与X/Open DTP之间的不同
12.5.3 遵循X/Open DTP XA标准产品互操作性
12.5.4 使用带有X/Open兼容的事务处理监视器的OLE事务兼容资源管理器
12.5.5 OSI事务处理格式和协议
12.6 OLE事务模型
12.7 使用微软分布式事务协调器
12.8 在应用程序中使用事务
12.8.1 应用程序是怎样初始化一个事务的
12.8.2 使用应用程序更新两个SQL服务器数据库
12.8.3 事务传递:从应用程序到应用程序
12.8.4 事务提交
12.8.5 事务终止
12.9 开发OLE事务资源管理器
12.9.1 资源管理器显式地初始化事务
12.9.2 SQL Server怎样显式地初始化一个事务
12.9.3 资源管理器隐式地初始化事务
12.9.4 SQL Server怎样隐式地初始化一个事务
12.9.5 事务从应用程序到资源管理器的传递
12.10 事务的生命期
12.10.1 资源管理器的启动
12.10.2 客户应用程序的启动
12.10.3 事务初始化
12.10.4 资源管理器的加入
12.10.5 创建一个输出对象Ⅰ
12.10.6 创建一个输出对象Ⅱ
12.10.7 输出事务Ⅰ
12.10.8 输出事务Ⅱ
12.10.9 加入事务Ⅰ
12.10.10 加入事务Ⅱ
12.10.11 事务提交阶段1—准备Ⅰ
12.10.12 事务提交阶段1—准备Ⅱ
12.10.13 事务提交阶段2—提交Ⅰ
12.10.14 事务提交阶段2—提交Ⅱ
12.10.15 事务恢复
12.11 实现一个资源管理器
12.11.1 开发环境
12.11.2 实现接口
12.11.3 由进程内应用程序组件初始化的事务
12.11.4 事务传递
12.11.5 获取whereabouts
12.11.6 从事务中获得事务分配器
12.11.7 参与两阶段提交协议
12.12 开发XA兼容的资源管理器
12.12.1 把OLE事务映射到XA协议
12.12.2 事务状态
12.12.3 实现算法
12.12.4 XA事务生命期的步骤
12.12.5 XA恢复过程
12.12.6 映射XA接口
12.13 使用XA兼容事务管理器应用程序
12.14 开发缓冲资源管理器
12.15 使用带有其他TIP事务管理器的MS DTC
12.15.1 TIP扩展的背景
12.15.2 TIP到OLE事务的扩展
12.15.3 使用方案
第13章 补偿资源管理器
13.1 使用CRM
13.1.1 安装CRM组件
13.1.2 启动和恢复
13.2 开发一个CRM
13.2.1 在CRM中的一般操作
13.2.2 在CRM中恢复
13.2.3 在CRM中的错误处理
13.3 高级CRM主题
13.3.1 注册设置
13.3.2 CRM日志文件
13.3.3 监视
13.3.4 隔离性
13.3.5 对象缓冲
13.3.6 集群
13.4 CRM故障诊断
13.5 设计建议
13.6 CRM接口
13.7 监视接口
13.8 使用监视接口
第14章 资源分配器
14.1 资源
14.2 分配管理器
14.3 资源持有者
14.4 资源分配器请求
14.5 把资源分配器作为一个COM组件实现
14.6 线程问题
14.7 库存统计管理器
14.8 资源缓冲
14.8.1 在非加入的库存中的资源
14.8.2 在加入的库存中的资源
14.8.3 处于非加入的使用状态的资源
14.8.4 处于加入的使用状态的资源
14.9 分配资源
14.10 加入到事务中
14.11 自动回收资源
14.12 跟踪资源
14.13 销毁不活动的资源
14.14 非事务的资源
14.15 在没有COM+的情况下进行操作
14.16 资源分配器的启动和关闭
14.17 实现资源分配器
14.18 类型
第15章 COM+工具
15.1 COM+度规概述
15.2 COM+度规过滤
15.3 Visual Studio Analyzer COM+ Event Bridge示例
15.4 收集COM+度规
第四部分 Microsoft接口定义语言
第16章 使用MIDL编译器
16.1 调用MIDL编译器
16.2 响应文件
16.3 C预处理器需求和选项
16.3.1 C预处理器对于MIDL的需求
16.3.2 验证预处理器选项
16.4 C编译器的需求和选项
16.4.1 C编译器对于MIDL的需求
16.4.2 C编译器对于Microsoft Windows 3.x中的回调需求
16.4.3 C编译器关于代理/存根的定义
16.5 使用_midl预定义常量
16.6 MIDL和RPC
16.6.1 为RPC接口生成的文件
16.6.2 为指定32位平台锁定存根
16.7 MIDL和COM
16.7.1 为COM接口生成文件
16.7.2 调度OLE数据类型
16.8 MIDL和ODL
16.8.1 用MIDL产生类型库
16.8.2 产生类型库所需的其他文件
16.8.3 MIDL和MkTypLib的区别
16.8.4 MIDL中ODL语言的特点
16.8.5 由单个IDL文件生成代理DLL和类型库
第17章 接口定义和类型库
17.1 分布式对象中的接口
17.2 COM、DCOM和类型库
17.3 接口定义(IDL)文件
17.4 IDL属性
17.4.1 别名和调度属性
17.4.2 异步属性
17.4.3 数组和有大小的指针属性
17.4.4 数据类型属性
17.4.5 方向属性
17.4.6 函数调用属性
17.4.7 接口头属性
17.4.8 性能属性
17.4.9 指针类型属性
17.4.10 结构和共同体属性
17.4.11 类型库属性
17.5 应用程序配置文件
17.6 ACF属性
17.6.1 绑定ACF属性
17.6.2 存根优化ACF属性
17.6.3 类型转换和调度ACF属性
17.6.4 内存管理ACF属性
17.6.5 错误和例外处理ACF属性
17.6.6 在IDL文件中使用ACF属性
17.7 MIDL数据类型
17.7.1 MIDL基类型
17.7.2 MIDL数组
17.7.3 MIDL类型定义
17.7.4 MIDL枚举类型
17.7.5 MIDL结构
17.7.6 MIDL共同体
17.7.7 MIDL绑定处理
17.8 导入文件和类型库
17.9 导入系统头文件
第18章 MIDL命令行参考
18.1 常用MIDL命令行语法
18.2 响应文件命令
第19章 MIDL语言参考
第20章 MIDL编译器错误和警告
20.1 错误和警告消息格式
20.2 预处理器错误
20.3 编译器错误
COM+词汇表
卷2:
译者序
第一部分 概述
第1章 欢迎使用“COM+开发人员参考库”
1.1 “COM+开发人员参考库”的组织方式
1.2 本书的组织方式
第2章 充分利用微软开发人员资源之二
2.1 开发人员支持
2.2 在线资源
2.3 教学产品
2.4 会议
2.5 其他资源
第3章 “COM+开发人员参考库”使用指南
3.1 本卷内容
3.2 其他各卷内容
3.3 获得更多的信息
第4章 简单对象访问协议(SOAP)
4.1 关于SOAP
4.2 SOAP FAQ
4.3 SOAP 规范 1.1
第二部分 COM+ 参 考
第5章 管理对象
5.1 COMAdminCatalog对象
5.2 COMAdminCatalogCollection对象
5.3 COMAdminCatalogObject对象
第6章 管理集合
6.1 ApplicationCluster 集合
6.2 Applications 集合
6.3 Componentes集合
6.4 ComputerList集合
6.5 DCOMProtocols集合
6.6 ErrorInfo集合
6.7 InprocServers集合
6.8 InterfacesForComponent集合
6.9 LocalComputer集合
6.10 MethodsForInterface集合
6.11 PropertyInfo集合
6.12 PublisherProperties集合
6.13 RelatedCollectionInfo集合
6.14 Roles集合
6.15 RolesForComponent集合
6.16 RolesForInterface集合
6.17 RolesForMethod集合
6.18 Root集合
6.19 SubscriberProperties集合
6.20 SubscriptionsForComponent集合
6.21 TransientSubscriptions集合
6.22 UserInRole集合
第7章 管理接口
7.1 ICOMAdminCatalog接口
7.2 ICatalogCollection接口
7.3 ICatalogObject接口
第8章 COM+对象
8.1 ContextInfo
8.2 SharedProperty对象
8.3 SharedPropertyGroup对象
8.4 SharedPropertyGroupManager对象
8.5 ObjectContext对象
8.6 ObjectControl对象
8.7 SecurityIdentity对象
8.8 SecurityProperty 对象
8.9 SecurityCallContext对象
8.10 SecurityCallers对象
8.11 TransactionContext对象
第9章 COM+接口
9.1 IContextState
9.2 IEnumEventObject
9.3 IEventClass
9.4 IEventControl
9.5 IEventObjectChange
9.6 IEventObjectCollection
9.7 IEventSubscription
9.8 IEventSystem
9.9 IFiringControl
9.10 IMessageMover
9.11 IMultiInterfaceEventControl
9.12 IMultiInterfacePublisherFilter
9.13 IObjectContext
9.14 IObjectContextActivity
9.15 IObjectContextInfo
9.16 IObjectControl
9.17 IObjectConstruct
9.18 IObjectConstructString
9.19 IPlaybackControl
9.20 IPublisherFilter
9.21 ISecurityCallContext
9.22 ISecurityCallersColl
9.23 ISecurityIdentityColl
9.24 ISecurityProperty
9.25 ISharedProperty
9.26 ISharedPropertyGroup
9.27 ISharedPropertyGroupManager
9.28 ITransactionContextEx
9.29 ITxProperty
9.30 ITxPropertyGroup
9.31 ITxPropertyGroupManager
第10章 COM+函数
10.1 GetObjectContext
10.2 GetSecurityCallContext
10.3 SafeRef
第11章 COM+枚举
11.1 EOC_ChangeType
11.2 tagTransactionVote
第三部分 COM+工具编程参考
第12章 事务
12.1 OLE事务参考
12.2 OLE事务和COM的差异
12.3 对象、接口、函数小结
第13章 对象
13.1 OLE 事务对象
13.2 MS DTC 代理服务器核心对象
13.3 事务对象
13.4 事务选项对象
13.5 导出对象
13.6 支持对象
13.7 投票者对象
13.8 资源管理器对象
13.9 事务零阶段支持对象
13.10 XA双管道资源管理器伪对象
13.11 XA单管道资源管理器对象
13.12 XA单管道资源管理器伪对象
第14章 DTC接口
14.1 ICreateWithTIPTransaction接口
14.2 ICreateWithTransaction接口
14.3 IDtcToXaMapper接口
14.4 IDtcToXaHelperFactory接口
14.5 IDtcToXaHelper接口
14.6 IDtcToXaHelperSinglePipe接口
14.7 IGetDispenser接口
14.8 IPrepareInfo接口
14.9 IResourceManager接口
14.10 IResourceManager2接口
14.11 IResourceManagerFactory接口
14.12 IResourceManagerFactory2接口
14.13 IResourceManagerSink接口
14.14 ITipHelper接口
14.15 ITipPullSink接口
14.16 ITipTransaction接口
14.17 ITransaction接口
14.18 ITransaction2接口
14.19 ITransactionCloner接口
14.20 ITransactionDispenser接口
14.21 ITransactionImport接口
14.22 ITransactionImportWhereabouts接口
14.23 ITransactionExport接口
14.24 ITransactionExportFactory接口
14.25 ITransactionOptions接口
14.26 ITransactionOutcomeEvents接口
14.27 ITransactionResourceAsync接口
14.28 ITransactionPhase0Factory接口
14.29 ITransactionPhase0EnlistmentAsync接口
14.30 ITransactionPhase0NotifyAsync接口
14.31 ITransactionEnlistmentAsync接口
14.32 ITransactionVoterFactory2接口
14.33 ITransactionVoterBallotAsync接口
14.34 ITransactionVoterNotifyAsync 接口
第15章 CRM接口
15.1 ICrmCompensator接口
15.2 ICrmCompensatorVariants接口
15.3 ICrmLogControl接口
15.4 ICrmMonitor接口
15.5 ICrmMonitorClerks接口
15.6 ICrmMonitorLogRecords接口
15.7 ICrmFormatLogRecords接口
第16章 资源分配器接口
16.1 IDispenserManager接口
16.2 IDispenserDriver接口
16.3 IHolder 接口
第17章 COM+测试接口
17.1 IComActivityEvents
17.2 IComAppEvents
17.3 IComCRMEvents
17.4 IComExceptionEvents
17.5 IComIdentityEvents
17.6 IComInstanceEvents
17.7 IComMethodEvents
17.8 IComObjectConstructionEvents
17.9 IComObjectEvents
17.10 IComObjectPoolEvents
17.11 IComObjectPoolEvents2
17.12 IComQCEvents
17.13 IComResourceEvents
17.14 IComSecurityEvents
17.15 IComThreadEvents
17.16 IComTrasactionEvents
17.17 IComUserEvent
17.18 Event 结构
第18章 MTS 支持接口
18.1 IMtsEventInfo接口
18.2 IMtsEvents 接口
18.3 IMtsGrp 接口
18.4 IMtsLocator接口
第19章 函数
19.1 DtcGetTransactionManager函数
19.2 DtcGetTransactionManagerEx函数
19.3 GetDispenserManager函数
19.4 GetXaSwitch函数
COM+词汇表
卷3:
译者序
第一部分 概述
第1章 欢迎使用“COM+开发人员参考库”
1.1 “COM+开发人员参考库”的组织方式
1.2 本书的组织方式
第2章 充分利用微软开发人员资源之三
2.1 介绍
2.2 动机
2.2.1 异步客户程序
2.2.2 其他应用
2.3 体系结构
2.3.1 Async_uuid和具有非阻断方法调用能力的代理/占位对象
2.3.2 客户端
2.3.3 服务器端
2.4 实现
2.4.1 简单的异步服务器
2.4.2 客户端程序的例子
2.4.3 服务器端
2.5 限制和陷阱
2.5.1 限制
2.5.2 陷阱
2.6 结论
第3章 “COM+开发人员参考库”使用指南
3.1 本卷内容
3.2 其他各卷内容
3.3 获得更多信息
第4章 C和C++设计考虑
4.1 组件对象:C嵌套结构
4.2 组件对象:C++嵌套类
4.3 多重继承
第二部分 COM编程基础
第5章 组件对象模型
5.1 COM对象和接口
5.1.1 接口和接口的实现
5.1.2 接口指针和接口
5.1.3 IUnknown和接口继承
5.2 使用和实现IUnknown接口
5.2.1 QueryInterface:在对象中查询
5.2.2 实现QueryInterface的规则
5.2.3 通过引用计数控制对象的生存期
5.3 对象的重用
5.3.1 封装/代理
5.3.2 聚合
5.4 COM库
5.5 管理内存分配
5.5.1 OLE内存分配器
5.5.2 内存管理规则
5.5.3 调试内存分配
第6章 进程、公寓和线程
6.1 选择线程模型
6.2 单线程公寓
6.3 多线程公寓
6.4 单/多线程通信
6.5 进程内服务器线程问题
6.6 跨公寓访问接口
6.6.1 创建全局接口表
6.6.2 什么时候使用全局接口表
第7章 COM客户程序和服务器
7.1 通过类对象创建对象
7.1.1 COM类对象和CLSID
7.1.2 定位远程对象
7.1.3 实例创建辅助函数
7.2 COM服务器的职责
7.2.1 实现IClassFactory
7.2.2 许可和IClassFactory2
7.2.3 注册COM服务器
7.2.4 进程外服务器实现辅助
7.2.5 GUID创建和优化
7.3 持续对象状态
7.3.1 持续对象接口
7.3.2 初始化持续对象
7.4 提供类信息
7.5 内部对象通信
第8章 生成和处理异步调用
8.1 生成和取消异步调用
8.1.1 生成异步调用
8.1.2 在异步调用中的客户安全性
8.1.3 扮演和异步调用
8.1.4 取消异步调用
8.2 取消方法调用
8.3 调用同步
第9章 定义COM接口
9.1 接口调度
9.2 剖析IDL文件
9.3 MIDL编译器
9.4 MIDL编译选项
9.5 加载和注册类型库
9.6 建立和注册代理DLL
9.7 接口设计规则
9.7.1 设计远程接口
9.7.2 使用COM接口
第10章 注册COM应用程序
10.1 注册表分层结构
10.2 类和服务器
10.3 将组件分类
10.4 使用OleView
10.5 注册表编辑器
10.6 注册组件
10.7 检查注册
10.8 未知用户类型
10.9 COM注册键
第11章 COM中的安全
11.1 确定安全需求
11.2 默认COM安全
11.3 激活安全
11.4 安全值
11.4.1 委派和扮演
11.4.2 应用程序身份
11.4.3 引用跟踪
11.5 为COM应用程序设置安全
11.5.1 为计算机修改安全默认值
11.5.2 设置进程范围安全
11.5.3 在接口代理级设置安全
11.6 打开和关闭安全
11.6.1 关闭安全
11.6.2 使用DCOMCNFG开启COM安全
11.7 COM和安全包
11.8 NTLMSSP
11.9 Kerberos
11.10 SChannel
11.11 Snego
11.12 服务器端的安全
11.13 安全性覆盖协商
11.14 COM安全、Windows 95和Windows 98
11.14.1 Windows95和Windows98中的调用级安全
11.14.2 Windows95和Windows98中的远程连接和激活
11.14.3 仅含Windows95和Windows 98网络的安全
第12章 错误处理
12.1 COM错误码的结构
12.2 FACILITY_ITF中的码
12.3 使用宏来进行错误处理
12.4 在Java和Visual Basic中的错误处理
12.4.1 返回错误信息
12.4.2 检索错误信息
12.5 错误处理策略
12.5.1 HRESULT
12.5.2 Win32和网络错误
12.6 处理未知错误
第13章 COM处理程序
13.1 OLE处理程序
13.2 轻便的客户端处理程序
13.2.1 实现和激活一个没有附加服务器数据的处理程序
13.2.2 实现和激活一个有附加服务器数据的处理程序
13.2.3 QueryInterface的代理
第14章 DLL代理
14.1 DLL服务器需求
14.1.1 代理共享
14.1.2 为激活代理而注册DLL服务器
14.2 使用系统提供的代理
14.3 定制代理
第15章 moniker
15.1 moniker客户程序
15.2 moniker提供者
15.3 OLE moniker的实现
15.3.1 文件moniker
15.3.2 复合moniker
15.3.3 项目moniker
15.3.4 反moniker
15.3.5 指针moniker
15.3.6 类moniker
15.3.7 异步moniker
15.3.8 URL moniker
第16章 COM中的事件
16.1 可连接对象的体系结构
16.2 可连接对象接口
第17章 实现组件目录管理
17.1 根据组件的能力来分类
17.2 根据容器的能力来分类
17.3 组件目录管理器
17.4 默认类和关联
17.5 定义组件目录
17.6 将图标与组件目录相关联
第三部分 COM 参 考
第18章 COM接口
18.1 IAccessControl
18.2 IAuthenticate
18.3 IBindCtx
18.4 ICallFactory
18.5 ICancelMethodCalls
18.6 ICatInformation
18.7 ICatRegister
18.8 IClassActivator
18.9 IClassFactory
18.10 IClassFactory2
18.11 IClientSecurity
18.12 IConnectionPoint
18.13 IConnectionPointContainer
18.14 IContinueCallback
18.15 IEnumXXXX
18.16 IEnumConnectionPoints
18.17 IEnumConnections
18.18 IEnumString
18.19 IEnumUnknown
18.20 IEventProperty
18.21 IEventPublisher
18.22 IExternalConnection
18.23 IGlobalInterfaceTable
18.24 IInternalUnknown
18.25 IMalloc
18.26 IMallocSpy
18.27 IMarshal
18.28 IMarshal—默认实现
18.29 IMessageFilter
18.30 IMoniker
18.31 IMoniker—反Moniker实现
18.32 IMoniker—类 moniker实现
18.33 IMoniker—文件moniker实现
18.34 IMoniker—一般复合moniker实现
18.35 IMoniker—项目moniker实现
18.36 IMoniker—OBJREF moniker实现
18.37 IMoniker—指针moniker实现
18.38 IMoniker—URL moniker实现
18.39 IMultiQI
18.40 IOleItemContainer
18.41 IParseDisplayName
18.42 IPersist
18.43 IPersistFile
18.44 IPersistMoniker
18.45 IPersistStorage
18.46 IPersistStream
18.47 IPersistStream - URL moniker实现
18.48 IPersistStreamInit
18.49 IPipeByte
18.50 IPipeDouble
18.51 IPipeLong
18.52 IProgressNotify
18.53 IProvideClassInfo
18.54 IProvideClassInfo2
18.55 IProvideMultipleClassInfo
18.56 IROTData
18.57 IRunnableObject
18.58 IRunningObjectTable
18.59 IServerSecurity
18.60 IStdMarshalInfo
18.61 ISurrogate
18.62 ISynchronize
18.63 ISynchronizeContainer
18.64 ISynchronizeEvent
18.65 ISynchronizeHandle
18.66 IUnknown
第19章 COM函数
第20章 COM 结构
第21章 COM枚举类型数据
第22章 COM注册项目
22.1 HKEY_LOCAL_MACHINE\SOFTWARE\Classes
22.2 AppID 键
22.3 CLSID键
22.4 ProgID键
22.5 VersionIndependentProgID键
22.6 File Extension 键
22.7 (Non-Compound) FileType键
22.8 Interface键
22.9 HKEY_LOCAL_MACHINE\Software\Microsoft\OLE
COM+词汇表
卷4:
译者序
第一部分 概述
第1章 欢迎使用“COM+开发人员参考库”
1.1 “COM+开发人员参考库”的组织方式
1.2 本书的组织方式
第2章 “COM+开发人员参考库”使用指南
2.1 本卷内容
2.2 其他各卷内容
2.3 获得更多信息
第二部分 自动化指南
第3章 自动化概述
3.1 为什么提供对象
3.2 什么是ActiveX对象
3.3 什么是ActiveX客户程序
3.4 客户程序与对象如何交互
3.5 什么是类型库
第4章 提供ActiveX对象
4.1 提供对象
4.1.1 初始化被提供的对象
4.1.2 实现被提供的对象
4.1.3 实现类工厂
4.1.4 提供Application对象
4.1.5 创建注册文件
4.1.6 释放OLE和对象
4.1.7 检索对象
4.1.8 返回对象
4.1.9 关闭对象
4.2 应用程序设计注意事项
4.2.1 创建可编程接口
4.2.2 创建IUnknown接口
4.2.3 创建IDispatch接口
4.2.4 实现双重接口
4.2.5 注册接口
4.2.6 创建类标识符
4.2.7 传递格式化数据
4.2.8 实现IEnumVARIANT 接口
4.2.9 实现_NewEnum属性
4.3 类型库
4.3.1 创建类型库
4.3.2 构建类型库
4.3.3 注册类型库
4.3.4 返回错误
4.4 Hello示例
4.5 Lines示例
4.6 支持多种本地语言
4.6.1 为支持多种语言的应用程序实现IDispatch
4.6.2 实现IDispatch成员函数
4.6.3 创建独立的类型库
4.6.4 定义场合ID
4.6.5 加载类型信息
4.6.6 定义基于场合ID的自变量和字符串
第5章 访问ActiveX对象
5.1 使用Visual Basic创建脚本
5.1.1 访问远程对象
5.1.2 操作对象
5.2 创建访问对象的应用程序和工具
5.2.1 通过VTBL访问成员
5.2.2 通过IDispatch访问成员
5.3 创建类型信息浏览器
第6章 标准对象和命名规则
6.1 使用标准对象
6.1.1 对象属性
6.1.2 集合对象属性
6.1.3 在类型库中使用Application对象
6.1.4 Document对象属性
6.1.5 Documents集合对象
6.1.6 Font对象
6.1.7 Picture对象
6.1.8 属性框架对象
6.2 命名习惯
6.2.1 使用完整的词和音节
6.2.2 使用混合大小写
6.2.3 使用界面中与通常用法相同的单词
6.2.4 使用正确的类名称单复数
6.3 可编程接口
6.3.1 访问包含文档
6.3.2 访问包含应用程序
第三部分 自动化参考
第7章 分发接口及API函数
7.1 IDispatch接口
7.2 创建分发的API函数
7.3 CreateDispTypeInfo
7.4 CreateStdDispatch
7.5 DispGetIDsOfNames
7.6 DispGetParam
7.7 DispInvoke
7.8 使用API函数注册活动对象
7.9 GetActiveObject
7.10 RegisterActiveObject
7.11 RevokeActiveObject
7.12 IEnumVARIANT接口
第8章 数据类型、结构和枚举
8.1 IDispatch数据类型和结构
8.2 ITypeLib结构和枚举
8.3 ITypeComp结构和枚举
第9章 转换和操作函数
9.1 数组操作API函数
9.2 变量操作API函数
9.3 数据类型转换函数
9.4 BSTR和Vector转换函数
9.5 日期和时间转换函数
9.6 变量计算
9.7 小数计算
9.8 货币计算
9.9 异类支持函数
第10章 类型库和对象说明语言
10.1 类型库的内容
10.2 使用MIDL和MkTypLib
10.2.1 向IDL定义添加ODL
10.2.2 MIDL和MkTypLib之间的区别
10.3 MkTypLib:类型库创建工具
10.4 ODL文件语法
10.4.1 ODL文件举例
10.4.2 源文件内容
10.5 ODL参考
10.5.1 属性说明
10.5.2 ODL语句和指令
第11章 类型说明接口
11.1 概述
11.2 ITypeLib 接口
11.3 ITypeLib2接口
11.4 ITypeInfo 接口
11.5 ITypeInfo2接口
11.6 ITypeComp接口
11.7 类型编译及库函数概述
11.8 LHashValOfName
11.9 LHashValOfNamesSys
11.10 LoadTypeLib
11.11 LoadTypeLibEx
11.12 LoadRegTypeLib
11.13 RegisterTypeLib
11.14 UnRegisterTypeLib
11.15 QueryPathOfRegTypeLib
第12章 类型创建接口
12.1 ICreateTypeInfo接口
12.2 ICreateTypeInfo2接口
12.3 CreateTypeLib API
12.4 ICreateTypeLib接口
12.5 CreateTypeLib2 API
12.6 ICreateTypeLib2接口
第13章 错误处理接口
13.1 返回错误信息
13.2 检索错误信息
13.3 IErrorInfo接口
13.4 ICreateErrorInfo接口
13.5 ISupportErrorInfo接口
13.6 错误处理API函数
13.7 CreateErrorInfo
13.8 GetErrorInfo
13.9 SetErrorInfo
第14章 用户定义的数据类型
14.1 传递UDT
14.1.1 在IDL文件中说明UDT
14.1.2 获取IRecordInfo接口
14.1.3 传递单个UDT
14.1.4 传递UDT的安全数组
14.2 用户定义数据类型的支持方法
14.3 GetRecordInfoFromTypeInfo
14.4 GetRecordInfoFromGuids
14.5 IRecordInfo接口
第15章 API级格式化例程
15.1 VarTokenizeFormatString
15.2 VarFormat
15.3 VarFormatDateTime
15.4 VarFormatNumber
15.5 VarFormatPercent
15.6 VarFormatCurrency
15.7 VarWeekdayName
15.8 VarMonthName
15.9 VarFormatFromTokens
COM+词汇表
自动化词汇表
卷5:
译者序
第一部分 概述
第1章 欢迎使用“COM+开发人员参考库”
1.1 “COM+开发人员参考库”的组织方式
1.2 本书的组织方式
第2章 “COM+开发人员参考库”使用指南
2.1 本卷内容
2.2 其他各卷内容
2.3 获得更多信息
第3章 ActiveX控件介绍
3.1 概述
3.2 ActiveX控件
3.3 通用指南
第二部分 ActiveX
第4章 ActiveX控件
4.1 ActiveX控件结构
4.2 ActiveX控件接口
4.3 属性和方法
4.3.1 控件属性
4.3.2 控件方法
4.4 控件事件
4.5 可视化表示
4.6 控件的键盘处理
4.7 持续性
4.8 注册和验证
第5章 属性页和属性表
5.1 属性表和属性页
5.2 通过IPropertyNotifySink实现的数据绑定
第6章 ActiveX控件和控件容器指南
6.1 控件和控件容器指南概述
6.1.1 为什么ActiveX控件和控件容器指南很重要
6.1.2 当无法获得需要的接口时该怎么力、
6.1.3 控件和控件容器指南中有什么新的东西
6.2 控件
6.2.1 控件的自注册
6.2.2 支持一个接口意味着什么
6.2.3 持续性接口
6.2.4 控件接口中的可选方法
6.2.5 类工厂选项
6.2.6 属性
6.2.7 方法
6.2.8 控件中的事件
6.2.9 属性页
6.2.10 控件的环境属性
6.2.11 使用容器的功能
6.3 容器
6.3.1 必需的接口
6.3.2 可选方法
6.3.3 各种状态位支持
6.3.4 控件中的键盘处理
6.3.5 存储接口
6.3.6 环境属性
6.3.7 扩展属性、事件和方法
6.3.8 消息映射
6.3.9 自动剪切
6.3.10 缺少某个接口的情况下平滑地降级
6.4 组件类别
6.4.1 什么是组件类别并且它们是如何工作的
6.4.2 简单框架位置容器
6.4.3 简单数据绑定
6.4.4 高级数据绑定
6.4.5 VisualBasic私有接口
6.4.6 Internet可识别对象
6.4.7 无窗口控件
6.5 通用指南
6.5.1 重载IPropertyNotifySink
6.5.2 容器特定私有接口
6.5.3 多线程问题
6.5.4 事件冻结
6.5.5 容器控件
6.5.6 控件中的WS_GROUP和WS_TABSTOP标记
6.5.7 单个DLL中的多个控件
6.5.8 IOleContaincr:: EnumObjects方法
6.5.9 增强的元文件
6.5.10 许可
6.5.11 双重接口
6.5.12 IPropertyBag和IPersistPropertyBag
6.6 事件坐标转化
6.7 标准DISPIDS
6.8 数据绑定
第7章 ActiveX接口
7.1 IFont
7.2 IFont---Ole实现
7.3 IFontDisp
7.4 IFontDisp--Ole实现
7.5 IOleControl
7.6 IOleControlSite
7.7 IPerPropertyBrowsing
7.8 IPicture
7.9 IPicture-Ole实现
7.10 IPictureDisp
7.11 IPictureDisp-Ole实现
7.12 IPointerInactive
7.13 IPrint
7.14 PropertyNotifySink
7.15 IPropertyPage
7.16 IPropertyPage2
7.17 IPropertyPageSite
7.18 IPropertyPageSite--Ole实现
7.19 IQuickActivate
7.20 ISimpleFrameSite
7.21 ISpecifyPropertyPages
第8章 ActiveX函数
8.1 OleCreatePropertyFrame
8.2 OleCreatePropertyFrameIndirect
8.3 OleLoadPicturePath
8.4 OleTranslateColor
第9章 ActiveX结构
9.1 CADWORD
9.2 CALPOLESTR
9.3 CAUUID
9.4 CONIROLINFO
9.5 FONTDESC
9.6 UCINFO
9.7 OCPFIPARAMS
9.8 PAGERANGE
9.9 PAGESET
9.10 PICTDESC
9.11 PROPPAGEINFO
9.12 QACONTAINER
9.13 QACONTROL
第10章 ActiveX枚举
10.1 GUIDKIND
10.2 KEYMODIFIERS
10.3 PICTURE
10.4 PICTYPE
10.5 POINTERINACTIVE
10.6 QACONTAINERFLAGS
第三部分 结构化存储
第11章 关于结构化存储
11.1 结构化存储的好处
11.1.1 文件系统的演变
11.1.2 存储和流
11.1.3 复合文件
11.2 结构化存储基础
11.2.1 存储对象命名约定
11.2.2 结构化存储接口
11.2.3 结构化存储API函数
11.2.4 属性和属性集
11.2.5 结构化存储串行属性集格式
第12章 异步存储
12.1 存储模式
12.2 异步复合文件
12.3 异步绑定和存储是如何工作的
12.4 复合文件优化
第13章 使用结构化存储
13.1 COM对象中的存储
13.2 管理属性
13.3 COM中的属性集实现
13.3.1 属性集考虑事项
13.3.2 管理属性集
13.3.3 存储属性集
13.3.4 性能特征
13.3.5 实现概述信息属性集
13.3.6 IPropertySetStorage实现考虑事项
第14章 结构化存储接口
14.1 复合文件实现限制
14.2 IDirectWriterLock
14.3 IEnumSTATPROPSETSTG
14.4 IEnumSTATPROPSTG
14.5 iEnumSTATSTG
14.6 IFillLockBvtes
14.7 ILayoutStorage
14.8 ILockBytes
14.9 IPropertySetStorage
14.10 IPropertyStorage
14.11 IRootStorage
14.12 ISequentialStream
14.13 IStorage
14.14 IStream
第15章 结构化存储函数
15.1 CreatLockBytesOnHGlobal
15.2 CreateStreamOnHGlobal
15.3 FmtIdToPropStgName
15.4 FreePropVariantArray
15.5 GetConvertStg
15.6 GetHGlobalFromILock Bvtes
15.7 GetHGlobalFromStream
15.8 OleConvertIStorageToOLESTREAM
15.9 OleConvertIStorageToOLESTREAMEx
15.10 OleConvertOLESTREAMToIStorage
15.11 OleConvertOLESTREAMToIStorageEx
15.12 PropStgNameToFmtId
15.13 PropVariantClear
15.14 PropVariantCopy
15.15 PropVariantInit
15.16 ReadClassStg
15.17 ReadClassStm
15.18 ReadFmtUserTypeStg
15.39 SetConvertStg
15.20 StgCreateDocfile
15.21 StgCreateDocfileOnILockBytes
15.22 StgCreatePropSetStg
15.23 StgCreatePropStg
15.14 StgCreateStorageEx
15.25 StgGetIFillLockBytesOnFile
15.26 StgGetIFillLockBytesOnILockBytes
15.27 StgIsStorageFile
15.28 StgIsStorageILockBytes
15.29 StgOpenAsyncDocfileOnIFillLockBytes
15.30 StgOpenLayoutDocfile
15.31 StgOpenPropStg
15.32 StgOpenStorage
15.33 StgOpenStorageEx
15.34 StgOpenStorageOnILockBytes
15.35 StgSetTimes
15.36 WriteClassStg
15.37 WriteClassStm
15.38 WriteFmtUserTypeStg
第16章 结构化存储结构
16.1 PROPSPEC
16.2 PROPVARIANT
16.3 RemSNB
16.4 SNB
16.5 STATPROPSETSTG
16.6 STATPROOPSTG
16.7 STATSTG
16.8 STGOPTIONS
16.9 StorageLayout
第17章 结构化存储枚举类型
17.1 LOCKTYPE
17.2 PROPSETFLAG
17.3 STATFLAG
17.4 STGC
17.5 STGFMT
17.6 STGM
17.7 STGMOVE
17.8 STGTY
17.9 STREAM SEEK
17.10 范例
COM+词汇表
第一部分 概述
第1章 欢迎使用“COM+开发人员参考库”
1.1 “COM+开发人员参考库”的组织方式
1.2 本书的组织方式
第2章 充分利用微软开发人员资源之一
2.1 比较MSDN和MSDN在线
2.2 MSDN订阅
2.3 MSDN的使用
2.4 使用MSDN在线
第3章 “COM+开发人员参考库”使用指南
3.1 本卷内容
3.2 其他各卷内容
3.3 获得更多信息
第4章 理解Windows DNA 2000及COM+所处的位置
4.1 Windows DNA定义
4.2 关于Windows DNA
4.3 关于Windows DNA 2000
4.4 N层开发模型
4.4.1 从两层到N层应用程序
4.4.2 用户服务层和Windows DNA
4.4.3 业务服务层
4.4.4 数据服务层
第二部分 COM+编程指南
第5章 COM+应用程序概述
5.1 COM+应用程序的概念
5.2 COM+应用程序类型
5.3 COM+应用程序的组成部分
5.4 开发COM+应用程序
第6章 设计COM+应用程序
6.1 COM+设计理念和原则
6.2 创建分布式应用程序的微软工具
6.3 使用UML设计COM+应用程序
6.3.1 概念模型:应用程序的需求
6.3.2 逻辑模型:应用程序的定义和规划
6.3.3 物理模型:应用程序的体系结构
6.4 常用的COM+设计技巧
6.4.1 可扩展性设计
6.4.2 可用性设计
6.4.3 安全性设计
6.4.4 部署设计
6.5 特殊情况的高级COM+技术
6.6 优化COM+业务逻辑层之间的交互
6.6.1 优化COM+业务逻辑层与表示层之间的交互
6.6.2 优化COM+业务逻辑层与数据层之间的交互
第7章 COM+服务入门
7.1 第1步:创建一个事务组件
7.2 第2步:跨多组件扩展一个事务
7.3 第3步:重用组件
第8章 COM+提供的服务
8.1 上下文
8.1.1 激活
8.1 2 跨上下文调用的侦听
8.2 事务处理
8.2.1 事务基础
8.2.2 分布式事务
8.2.3 贯穿COM+的自动事务
8.2.4 事务编程
8.3 并发性
8.3.1 组件和线程
8.3.2 同步
8.4 COM+中的安全性
8.4.1 基于角色的安全性
8.4.2 验证客户
8.4.3 扮演客户
8.4.4 保证库应用程序的安全性
8.4.5 保证多层应用程序的安全
8.4.6 组件编程的安全性
8.5 对象缓冲
8.5.1 对象缓冲池的工作原理
8.5.2 用对象缓冲改善性能
8.5.3 对可缓冲对象的要求
8.5.4 缓冲池事务对象
8.5.5 控制对象的生命期和状态
8.5.6 使用对象构造器字符串
8.6 即时激活
8.6.1 设置完成位
8.6.2 事务和JIT激活
8.6.3 对象缓冲和JIT激活
8.7 排队组件
8.7.1 排队组件的体系结构
8.7.2 消息解决方案
8.7.3 排队处理的好处
8.7.4 使用队列
8.7.5 事务消息排队
8.7.6 排队组件的例子
8.7.7 开发限制
8.7.8 开发排队组件
8.7.9 启动排队组件
8.7.10 标识排队组件
8.7.11 激活排队组件
8.7.12 例外处理
8.7.13 使用排队组件的安全性
8.7.14 排队组件的相互依赖性
8.8 COM+事件
8.8.1 COM+事件模型
8.8.2 COM+事件体系结构
8.8.3 产生事件
8.8.4 投递事件
8.8.5 使用排队组件构造事件
8.8.6 过滤事件
8.8.7 COM+事件例子
8.9 共享属性管理器
8.10 补偿资源管理器
第9章 编写COM+应用程序组件
9.1 编写事务组件
9.2 编写安全组件
9.3 编写可缓冲组件
9.4 编写排队组件
9.5 编写COM+事件组件
9.6 处理COM+中的错误
9.6.1 COM+错误处理策略
9.6.2 COM+怎样修改返回值
9.6.3 错误隔离和错误快速处理策略
9.6.4 找到错误的来源
9.6.5 错误代码解释
9.6.6 故障诊断
9.6.7 联系支持
9.7 调试COM+应用程序
9.7.1 调试用C++编写的组件
9.7.2 调试用Visual Basic编写的组件
第10章 创建和配置COM+应用程序
10.1 创建COM+应用程序
10.1.1 创建新的COM+应用程序
10.1.2 安装新组件
10.1.3 导入组件
10.1.4 从COM+应用程序中删除组件
10.1.5 删除COM+应用程序
10.2 配置COM+应用程序
10.2.1 配置事务
10.2.2 配置同步
10.2.3 安全设置
10.2.4 配置对象缓冲
10.2.5 配置JIT激活
10.2.6 配置队列
10.2.7 配置COM+事件
10.2.8 配置库应用程序
10.2.9 在调用者上下文中实施激活
10.3 从MTS包到COM+应用程序的转换
10.3.1 MTS的自动转换
10.3.2 MTS的人工转换
10.3.3 COM+转换的结果和问题
10.4 自动化COM+管理
10.4.1 COMAdmin对象概述
10.4.2 在COM+目录中检索集合
10.4.3 在COM+目录中设置属性和保存更改
10.4.4 处理管理错误
10.4.5 事务内的管理操作
10.4.6 MTS管理库
第11章 COM+应用程序的部署和注册
11.1 部署COM+应用程序
11.2 部署应用程序代理
11.3 COM+目录
11.4 COMREPL复制工具
11.4.1 COMREPL的使用
11.4.2 从复制中能得到什么
11.4.3 复制的步骤
11.4.4 文件管理
11.4.5 日志和错误报告
第三部分 COM+工具编程指南
第12章 微软分布式事务协调器
12.1 事务属性
12.2 分布式事务
12.2.1 分布式事务的工作原理
12.2.2 从应用程序开发人员的角度看事务
12.2.3 从资源管理器的角度看事务
12.2.4 从事务管理器角度看事务
12.3 提交协调
12.3.1 只读提交优化
12.3.2 委派提交优化
12.4 携带自己的事务
12.4.1 创建BYOT对象
12.4.2 继承人工事务
12.5 其他事务标准
12.5.1 X/Open分布式事务处理标准
12.5.2 OLE 事务与X/Open DTP之间的不同
12.5.3 遵循X/Open DTP XA标准产品互操作性
12.5.4 使用带有X/Open兼容的事务处理监视器的OLE事务兼容资源管理器
12.5.5 OSI事务处理格式和协议
12.6 OLE事务模型
12.7 使用微软分布式事务协调器
12.8 在应用程序中使用事务
12.8.1 应用程序是怎样初始化一个事务的
12.8.2 使用应用程序更新两个SQL服务器数据库
12.8.3 事务传递:从应用程序到应用程序
12.8.4 事务提交
12.8.5 事务终止
12.9 开发OLE事务资源管理器
12.9.1 资源管理器显式地初始化事务
12.9.2 SQL Server怎样显式地初始化一个事务
12.9.3 资源管理器隐式地初始化事务
12.9.4 SQL Server怎样隐式地初始化一个事务
12.9.5 事务从应用程序到资源管理器的传递
12.10 事务的生命期
12.10.1 资源管理器的启动
12.10.2 客户应用程序的启动
12.10.3 事务初始化
12.10.4 资源管理器的加入
12.10.5 创建一个输出对象Ⅰ
12.10.6 创建一个输出对象Ⅱ
12.10.7 输出事务Ⅰ
12.10.8 输出事务Ⅱ
12.10.9 加入事务Ⅰ
12.10.10 加入事务Ⅱ
12.10.11 事务提交阶段1—准备Ⅰ
12.10.12 事务提交阶段1—准备Ⅱ
12.10.13 事务提交阶段2—提交Ⅰ
12.10.14 事务提交阶段2—提交Ⅱ
12.10.15 事务恢复
12.11 实现一个资源管理器
12.11.1 开发环境
12.11.2 实现接口
12.11.3 由进程内应用程序组件初始化的事务
12.11.4 事务传递
12.11.5 获取whereabouts
12.11.6 从事务中获得事务分配器
12.11.7 参与两阶段提交协议
12.12 开发XA兼容的资源管理器
12.12.1 把OLE事务映射到XA协议
12.12.2 事务状态
12.12.3 实现算法
12.12.4 XA事务生命期的步骤
12.12.5 XA恢复过程
12.12.6 映射XA接口
12.13 使用XA兼容事务管理器应用程序
12.14 开发缓冲资源管理器
12.15 使用带有其他TIP事务管理器的MS DTC
12.15.1 TIP扩展的背景
12.15.2 TIP到OLE事务的扩展
12.15.3 使用方案
第13章 补偿资源管理器
13.1 使用CRM
13.1.1 安装CRM组件
13.1.2 启动和恢复
13.2 开发一个CRM
13.2.1 在CRM中的一般操作
13.2.2 在CRM中恢复
13.2.3 在CRM中的错误处理
13.3 高级CRM主题
13.3.1 注册设置
13.3.2 CRM日志文件
13.3.3 监视
13.3.4 隔离性
13.3.5 对象缓冲
13.3.6 集群
13.4 CRM故障诊断
13.5 设计建议
13.6 CRM接口
13.7 监视接口
13.8 使用监视接口
第14章 资源分配器
14.1 资源
14.2 分配管理器
14.3 资源持有者
14.4 资源分配器请求
14.5 把资源分配器作为一个COM组件实现
14.6 线程问题
14.7 库存统计管理器
14.8 资源缓冲
14.8.1 在非加入的库存中的资源
14.8.2 在加入的库存中的资源
14.8.3 处于非加入的使用状态的资源
14.8.4 处于加入的使用状态的资源
14.9 分配资源
14.10 加入到事务中
14.11 自动回收资源
14.12 跟踪资源
14.13 销毁不活动的资源
14.14 非事务的资源
14.15 在没有COM+的情况下进行操作
14.16 资源分配器的启动和关闭
14.17 实现资源分配器
14.18 类型
第15章 COM+工具
15.1 COM+度规概述
15.2 COM+度规过滤
15.3 Visual Studio Analyzer COM+ Event Bridge示例
15.4 收集COM+度规
第四部分 Microsoft接口定义语言
第16章 使用MIDL编译器
16.1 调用MIDL编译器
16.2 响应文件
16.3 C预处理器需求和选项
16.3.1 C预处理器对于MIDL的需求
16.3.2 验证预处理器选项
16.4 C编译器的需求和选项
16.4.1 C编译器对于MIDL的需求
16.4.2 C编译器对于Microsoft Windows 3.x中的回调需求
16.4.3 C编译器关于代理/存根的定义
16.5 使用_midl预定义常量
16.6 MIDL和RPC
16.6.1 为RPC接口生成的文件
16.6.2 为指定32位平台锁定存根
16.7 MIDL和COM
16.7.1 为COM接口生成文件
16.7.2 调度OLE数据类型
16.8 MIDL和ODL
16.8.1 用MIDL产生类型库
16.8.2 产生类型库所需的其他文件
16.8.3 MIDL和MkTypLib的区别
16.8.4 MIDL中ODL语言的特点
16.8.5 由单个IDL文件生成代理DLL和类型库
第17章 接口定义和类型库
17.1 分布式对象中的接口
17.2 COM、DCOM和类型库
17.3 接口定义(IDL)文件
17.4 IDL属性
17.4.1 别名和调度属性
17.4.2 异步属性
17.4.3 数组和有大小的指针属性
17.4.4 数据类型属性
17.4.5 方向属性
17.4.6 函数调用属性
17.4.7 接口头属性
17.4.8 性能属性
17.4.9 指针类型属性
17.4.10 结构和共同体属性
17.4.11 类型库属性
17.5 应用程序配置文件
17.6 ACF属性
17.6.1 绑定ACF属性
17.6.2 存根优化ACF属性
17.6.3 类型转换和调度ACF属性
17.6.4 内存管理ACF属性
17.6.5 错误和例外处理ACF属性
17.6.6 在IDL文件中使用ACF属性
17.7 MIDL数据类型
17.7.1 MIDL基类型
17.7.2 MIDL数组
17.7.3 MIDL类型定义
17.7.4 MIDL枚举类型
17.7.5 MIDL结构
17.7.6 MIDL共同体
17.7.7 MIDL绑定处理
17.8 导入文件和类型库
17.9 导入系统头文件
第18章 MIDL命令行参考
18.1 常用MIDL命令行语法
18.2 响应文件命令
第19章 MIDL语言参考
第20章 MIDL编译器错误和警告
20.1 错误和警告消息格式
20.2 预处理器错误
20.3 编译器错误
COM+词汇表
卷2:
译者序
第一部分 概述
第1章 欢迎使用“COM+开发人员参考库”
1.1 “COM+开发人员参考库”的组织方式
1.2 本书的组织方式
第2章 充分利用微软开发人员资源之二
2.1 开发人员支持
2.2 在线资源
2.3 教学产品
2.4 会议
2.5 其他资源
第3章 “COM+开发人员参考库”使用指南
3.1 本卷内容
3.2 其他各卷内容
3.3 获得更多的信息
第4章 简单对象访问协议(SOAP)
4.1 关于SOAP
4.2 SOAP FAQ
4.3 SOAP 规范 1.1
第二部分 COM+ 参 考
第5章 管理对象
5.1 COMAdminCatalog对象
5.2 COMAdminCatalogCollection对象
5.3 COMAdminCatalogObject对象
第6章 管理集合
6.1 ApplicationCluster 集合
6.2 Applications 集合
6.3 Componentes集合
6.4 ComputerList集合
6.5 DCOMProtocols集合
6.6 ErrorInfo集合
6.7 InprocServers集合
6.8 InterfacesForComponent集合
6.9 LocalComputer集合
6.10 MethodsForInterface集合
6.11 PropertyInfo集合
6.12 PublisherProperties集合
6.13 RelatedCollectionInfo集合
6.14 Roles集合
6.15 RolesForComponent集合
6.16 RolesForInterface集合
6.17 RolesForMethod集合
6.18 Root集合
6.19 SubscriberProperties集合
6.20 SubscriptionsForComponent集合
6.21 TransientSubscriptions集合
6.22 UserInRole集合
第7章 管理接口
7.1 ICOMAdminCatalog接口
7.2 ICatalogCollection接口
7.3 ICatalogObject接口
第8章 COM+对象
8.1 ContextInfo
8.2 SharedProperty对象
8.3 SharedPropertyGroup对象
8.4 SharedPropertyGroupManager对象
8.5 ObjectContext对象
8.6 ObjectControl对象
8.7 SecurityIdentity对象
8.8 SecurityProperty 对象
8.9 SecurityCallContext对象
8.10 SecurityCallers对象
8.11 TransactionContext对象
第9章 COM+接口
9.1 IContextState
9.2 IEnumEventObject
9.3 IEventClass
9.4 IEventControl
9.5 IEventObjectChange
9.6 IEventObjectCollection
9.7 IEventSubscription
9.8 IEventSystem
9.9 IFiringControl
9.10 IMessageMover
9.11 IMultiInterfaceEventControl
9.12 IMultiInterfacePublisherFilter
9.13 IObjectContext
9.14 IObjectContextActivity
9.15 IObjectContextInfo
9.16 IObjectControl
9.17 IObjectConstruct
9.18 IObjectConstructString
9.19 IPlaybackControl
9.20 IPublisherFilter
9.21 ISecurityCallContext
9.22 ISecurityCallersColl
9.23 ISecurityIdentityColl
9.24 ISecurityProperty
9.25 ISharedProperty
9.26 ISharedPropertyGroup
9.27 ISharedPropertyGroupManager
9.28 ITransactionContextEx
9.29 ITxProperty
9.30 ITxPropertyGroup
9.31 ITxPropertyGroupManager
第10章 COM+函数
10.1 GetObjectContext
10.2 GetSecurityCallContext
10.3 SafeRef
第11章 COM+枚举
11.1 EOC_ChangeType
11.2 tagTransactionVote
第三部分 COM+工具编程参考
第12章 事务
12.1 OLE事务参考
12.2 OLE事务和COM的差异
12.3 对象、接口、函数小结
第13章 对象
13.1 OLE 事务对象
13.2 MS DTC 代理服务器核心对象
13.3 事务对象
13.4 事务选项对象
13.5 导出对象
13.6 支持对象
13.7 投票者对象
13.8 资源管理器对象
13.9 事务零阶段支持对象
13.10 XA双管道资源管理器伪对象
13.11 XA单管道资源管理器对象
13.12 XA单管道资源管理器伪对象
第14章 DTC接口
14.1 ICreateWithTIPTransaction接口
14.2 ICreateWithTransaction接口
14.3 IDtcToXaMapper接口
14.4 IDtcToXaHelperFactory接口
14.5 IDtcToXaHelper接口
14.6 IDtcToXaHelperSinglePipe接口
14.7 IGetDispenser接口
14.8 IPrepareInfo接口
14.9 IResourceManager接口
14.10 IResourceManager2接口
14.11 IResourceManagerFactory接口
14.12 IResourceManagerFactory2接口
14.13 IResourceManagerSink接口
14.14 ITipHelper接口
14.15 ITipPullSink接口
14.16 ITipTransaction接口
14.17 ITransaction接口
14.18 ITransaction2接口
14.19 ITransactionCloner接口
14.20 ITransactionDispenser接口
14.21 ITransactionImport接口
14.22 ITransactionImportWhereabouts接口
14.23 ITransactionExport接口
14.24 ITransactionExportFactory接口
14.25 ITransactionOptions接口
14.26 ITransactionOutcomeEvents接口
14.27 ITransactionResourceAsync接口
14.28 ITransactionPhase0Factory接口
14.29 ITransactionPhase0EnlistmentAsync接口
14.30 ITransactionPhase0NotifyAsync接口
14.31 ITransactionEnlistmentAsync接口
14.32 ITransactionVoterFactory2接口
14.33 ITransactionVoterBallotAsync接口
14.34 ITransactionVoterNotifyAsync 接口
第15章 CRM接口
15.1 ICrmCompensator接口
15.2 ICrmCompensatorVariants接口
15.3 ICrmLogControl接口
15.4 ICrmMonitor接口
15.5 ICrmMonitorClerks接口
15.6 ICrmMonitorLogRecords接口
15.7 ICrmFormatLogRecords接口
第16章 资源分配器接口
16.1 IDispenserManager接口
16.2 IDispenserDriver接口
16.3 IHolder 接口
第17章 COM+测试接口
17.1 IComActivityEvents
17.2 IComAppEvents
17.3 IComCRMEvents
17.4 IComExceptionEvents
17.5 IComIdentityEvents
17.6 IComInstanceEvents
17.7 IComMethodEvents
17.8 IComObjectConstructionEvents
17.9 IComObjectEvents
17.10 IComObjectPoolEvents
17.11 IComObjectPoolEvents2
17.12 IComQCEvents
17.13 IComResourceEvents
17.14 IComSecurityEvents
17.15 IComThreadEvents
17.16 IComTrasactionEvents
17.17 IComUserEvent
17.18 Event 结构
第18章 MTS 支持接口
18.1 IMtsEventInfo接口
18.2 IMtsEvents 接口
18.3 IMtsGrp 接口
18.4 IMtsLocator接口
第19章 函数
19.1 DtcGetTransactionManager函数
19.2 DtcGetTransactionManagerEx函数
19.3 GetDispenserManager函数
19.4 GetXaSwitch函数
COM+词汇表
卷3:
译者序
第一部分 概述
第1章 欢迎使用“COM+开发人员参考库”
1.1 “COM+开发人员参考库”的组织方式
1.2 本书的组织方式
第2章 充分利用微软开发人员资源之三
2.1 介绍
2.2 动机
2.2.1 异步客户程序
2.2.2 其他应用
2.3 体系结构
2.3.1 Async_uuid和具有非阻断方法调用能力的代理/占位对象
2.3.2 客户端
2.3.3 服务器端
2.4 实现
2.4.1 简单的异步服务器
2.4.2 客户端程序的例子
2.4.3 服务器端
2.5 限制和陷阱
2.5.1 限制
2.5.2 陷阱
2.6 结论
第3章 “COM+开发人员参考库”使用指南
3.1 本卷内容
3.2 其他各卷内容
3.3 获得更多信息
第4章 C和C++设计考虑
4.1 组件对象:C嵌套结构
4.2 组件对象:C++嵌套类
4.3 多重继承
第二部分 COM编程基础
第5章 组件对象模型
5.1 COM对象和接口
5.1.1 接口和接口的实现
5.1.2 接口指针和接口
5.1.3 IUnknown和接口继承
5.2 使用和实现IUnknown接口
5.2.1 QueryInterface:在对象中查询
5.2.2 实现QueryInterface的规则
5.2.3 通过引用计数控制对象的生存期
5.3 对象的重用
5.3.1 封装/代理
5.3.2 聚合
5.4 COM库
5.5 管理内存分配
5.5.1 OLE内存分配器
5.5.2 内存管理规则
5.5.3 调试内存分配
第6章 进程、公寓和线程
6.1 选择线程模型
6.2 单线程公寓
6.3 多线程公寓
6.4 单/多线程通信
6.5 进程内服务器线程问题
6.6 跨公寓访问接口
6.6.1 创建全局接口表
6.6.2 什么时候使用全局接口表
第7章 COM客户程序和服务器
7.1 通过类对象创建对象
7.1.1 COM类对象和CLSID
7.1.2 定位远程对象
7.1.3 实例创建辅助函数
7.2 COM服务器的职责
7.2.1 实现IClassFactory
7.2.2 许可和IClassFactory2
7.2.3 注册COM服务器
7.2.4 进程外服务器实现辅助
7.2.5 GUID创建和优化
7.3 持续对象状态
7.3.1 持续对象接口
7.3.2 初始化持续对象
7.4 提供类信息
7.5 内部对象通信
第8章 生成和处理异步调用
8.1 生成和取消异步调用
8.1.1 生成异步调用
8.1.2 在异步调用中的客户安全性
8.1.3 扮演和异步调用
8.1.4 取消异步调用
8.2 取消方法调用
8.3 调用同步
第9章 定义COM接口
9.1 接口调度
9.2 剖析IDL文件
9.3 MIDL编译器
9.4 MIDL编译选项
9.5 加载和注册类型库
9.6 建立和注册代理DLL
9.7 接口设计规则
9.7.1 设计远程接口
9.7.2 使用COM接口
第10章 注册COM应用程序
10.1 注册表分层结构
10.2 类和服务器
10.3 将组件分类
10.4 使用OleView
10.5 注册表编辑器
10.6 注册组件
10.7 检查注册
10.8 未知用户类型
10.9 COM注册键
第11章 COM中的安全
11.1 确定安全需求
11.2 默认COM安全
11.3 激活安全
11.4 安全值
11.4.1 委派和扮演
11.4.2 应用程序身份
11.4.3 引用跟踪
11.5 为COM应用程序设置安全
11.5.1 为计算机修改安全默认值
11.5.2 设置进程范围安全
11.5.3 在接口代理级设置安全
11.6 打开和关闭安全
11.6.1 关闭安全
11.6.2 使用DCOMCNFG开启COM安全
11.7 COM和安全包
11.8 NTLMSSP
11.9 Kerberos
11.10 SChannel
11.11 Snego
11.12 服务器端的安全
11.13 安全性覆盖协商
11.14 COM安全、Windows 95和Windows 98
11.14.1 Windows95和Windows98中的调用级安全
11.14.2 Windows95和Windows98中的远程连接和激活
11.14.3 仅含Windows95和Windows 98网络的安全
第12章 错误处理
12.1 COM错误码的结构
12.2 FACILITY_ITF中的码
12.3 使用宏来进行错误处理
12.4 在Java和Visual Basic中的错误处理
12.4.1 返回错误信息
12.4.2 检索错误信息
12.5 错误处理策略
12.5.1 HRESULT
12.5.2 Win32和网络错误
12.6 处理未知错误
第13章 COM处理程序
13.1 OLE处理程序
13.2 轻便的客户端处理程序
13.2.1 实现和激活一个没有附加服务器数据的处理程序
13.2.2 实现和激活一个有附加服务器数据的处理程序
13.2.3 QueryInterface的代理
第14章 DLL代理
14.1 DLL服务器需求
14.1.1 代理共享
14.1.2 为激活代理而注册DLL服务器
14.2 使用系统提供的代理
14.3 定制代理
第15章 moniker
15.1 moniker客户程序
15.2 moniker提供者
15.3 OLE moniker的实现
15.3.1 文件moniker
15.3.2 复合moniker
15.3.3 项目moniker
15.3.4 反moniker
15.3.5 指针moniker
15.3.6 类moniker
15.3.7 异步moniker
15.3.8 URL moniker
第16章 COM中的事件
16.1 可连接对象的体系结构
16.2 可连接对象接口
第17章 实现组件目录管理
17.1 根据组件的能力来分类
17.2 根据容器的能力来分类
17.3 组件目录管理器
17.4 默认类和关联
17.5 定义组件目录
17.6 将图标与组件目录相关联
第三部分 COM 参 考
第18章 COM接口
18.1 IAccessControl
18.2 IAuthenticate
18.3 IBindCtx
18.4 ICallFactory
18.5 ICancelMethodCalls
18.6 ICatInformation
18.7 ICatRegister
18.8 IClassActivator
18.9 IClassFactory
18.10 IClassFactory2
18.11 IClientSecurity
18.12 IConnectionPoint
18.13 IConnectionPointContainer
18.14 IContinueCallback
18.15 IEnumXXXX
18.16 IEnumConnectionPoints
18.17 IEnumConnections
18.18 IEnumString
18.19 IEnumUnknown
18.20 IEventProperty
18.21 IEventPublisher
18.22 IExternalConnection
18.23 IGlobalInterfaceTable
18.24 IInternalUnknown
18.25 IMalloc
18.26 IMallocSpy
18.27 IMarshal
18.28 IMarshal—默认实现
18.29 IMessageFilter
18.30 IMoniker
18.31 IMoniker—反Moniker实现
18.32 IMoniker—类 moniker实现
18.33 IMoniker—文件moniker实现
18.34 IMoniker—一般复合moniker实现
18.35 IMoniker—项目moniker实现
18.36 IMoniker—OBJREF moniker实现
18.37 IMoniker—指针moniker实现
18.38 IMoniker—URL moniker实现
18.39 IMultiQI
18.40 IOleItemContainer
18.41 IParseDisplayName
18.42 IPersist
18.43 IPersistFile
18.44 IPersistMoniker
18.45 IPersistStorage
18.46 IPersistStream
18.47 IPersistStream - URL moniker实现
18.48 IPersistStreamInit
18.49 IPipeByte
18.50 IPipeDouble
18.51 IPipeLong
18.52 IProgressNotify
18.53 IProvideClassInfo
18.54 IProvideClassInfo2
18.55 IProvideMultipleClassInfo
18.56 IROTData
18.57 IRunnableObject
18.58 IRunningObjectTable
18.59 IServerSecurity
18.60 IStdMarshalInfo
18.61 ISurrogate
18.62 ISynchronize
18.63 ISynchronizeContainer
18.64 ISynchronizeEvent
18.65 ISynchronizeHandle
18.66 IUnknown
第19章 COM函数
第20章 COM 结构
第21章 COM枚举类型数据
第22章 COM注册项目
22.1 HKEY_LOCAL_MACHINE\SOFTWARE\Classes
22.2 AppID 键
22.3 CLSID键
22.4 ProgID键
22.5 VersionIndependentProgID键
22.6 File Extension 键
22.7 (Non-Compound) FileType键
22.8 Interface键
22.9 HKEY_LOCAL_MACHINE\Software\Microsoft\OLE
COM+词汇表
卷4:
译者序
第一部分 概述
第1章 欢迎使用“COM+开发人员参考库”
1.1 “COM+开发人员参考库”的组织方式
1.2 本书的组织方式
第2章 “COM+开发人员参考库”使用指南
2.1 本卷内容
2.2 其他各卷内容
2.3 获得更多信息
第二部分 自动化指南
第3章 自动化概述
3.1 为什么提供对象
3.2 什么是ActiveX对象
3.3 什么是ActiveX客户程序
3.4 客户程序与对象如何交互
3.5 什么是类型库
第4章 提供ActiveX对象
4.1 提供对象
4.1.1 初始化被提供的对象
4.1.2 实现被提供的对象
4.1.3 实现类工厂
4.1.4 提供Application对象
4.1.5 创建注册文件
4.1.6 释放OLE和对象
4.1.7 检索对象
4.1.8 返回对象
4.1.9 关闭对象
4.2 应用程序设计注意事项
4.2.1 创建可编程接口
4.2.2 创建IUnknown接口
4.2.3 创建IDispatch接口
4.2.4 实现双重接口
4.2.5 注册接口
4.2.6 创建类标识符
4.2.7 传递格式化数据
4.2.8 实现IEnumVARIANT 接口
4.2.9 实现_NewEnum属性
4.3 类型库
4.3.1 创建类型库
4.3.2 构建类型库
4.3.3 注册类型库
4.3.4 返回错误
4.4 Hello示例
4.5 Lines示例
4.6 支持多种本地语言
4.6.1 为支持多种语言的应用程序实现IDispatch
4.6.2 实现IDispatch成员函数
4.6.3 创建独立的类型库
4.6.4 定义场合ID
4.6.5 加载类型信息
4.6.6 定义基于场合ID的自变量和字符串
第5章 访问ActiveX对象
5.1 使用Visual Basic创建脚本
5.1.1 访问远程对象
5.1.2 操作对象
5.2 创建访问对象的应用程序和工具
5.2.1 通过VTBL访问成员
5.2.2 通过IDispatch访问成员
5.3 创建类型信息浏览器
第6章 标准对象和命名规则
6.1 使用标准对象
6.1.1 对象属性
6.1.2 集合对象属性
6.1.3 在类型库中使用Application对象
6.1.4 Document对象属性
6.1.5 Documents集合对象
6.1.6 Font对象
6.1.7 Picture对象
6.1.8 属性框架对象
6.2 命名习惯
6.2.1 使用完整的词和音节
6.2.2 使用混合大小写
6.2.3 使用界面中与通常用法相同的单词
6.2.4 使用正确的类名称单复数
6.3 可编程接口
6.3.1 访问包含文档
6.3.2 访问包含应用程序
第三部分 自动化参考
第7章 分发接口及API函数
7.1 IDispatch接口
7.2 创建分发的API函数
7.3 CreateDispTypeInfo
7.4 CreateStdDispatch
7.5 DispGetIDsOfNames
7.6 DispGetParam
7.7 DispInvoke
7.8 使用API函数注册活动对象
7.9 GetActiveObject
7.10 RegisterActiveObject
7.11 RevokeActiveObject
7.12 IEnumVARIANT接口
第8章 数据类型、结构和枚举
8.1 IDispatch数据类型和结构
8.2 ITypeLib结构和枚举
8.3 ITypeComp结构和枚举
第9章 转换和操作函数
9.1 数组操作API函数
9.2 变量操作API函数
9.3 数据类型转换函数
9.4 BSTR和Vector转换函数
9.5 日期和时间转换函数
9.6 变量计算
9.7 小数计算
9.8 货币计算
9.9 异类支持函数
第10章 类型库和对象说明语言
10.1 类型库的内容
10.2 使用MIDL和MkTypLib
10.2.1 向IDL定义添加ODL
10.2.2 MIDL和MkTypLib之间的区别
10.3 MkTypLib:类型库创建工具
10.4 ODL文件语法
10.4.1 ODL文件举例
10.4.2 源文件内容
10.5 ODL参考
10.5.1 属性说明
10.5.2 ODL语句和指令
第11章 类型说明接口
11.1 概述
11.2 ITypeLib 接口
11.3 ITypeLib2接口
11.4 ITypeInfo 接口
11.5 ITypeInfo2接口
11.6 ITypeComp接口
11.7 类型编译及库函数概述
11.8 LHashValOfName
11.9 LHashValOfNamesSys
11.10 LoadTypeLib
11.11 LoadTypeLibEx
11.12 LoadRegTypeLib
11.13 RegisterTypeLib
11.14 UnRegisterTypeLib
11.15 QueryPathOfRegTypeLib
第12章 类型创建接口
12.1 ICreateTypeInfo接口
12.2 ICreateTypeInfo2接口
12.3 CreateTypeLib API
12.4 ICreateTypeLib接口
12.5 CreateTypeLib2 API
12.6 ICreateTypeLib2接口
第13章 错误处理接口
13.1 返回错误信息
13.2 检索错误信息
13.3 IErrorInfo接口
13.4 ICreateErrorInfo接口
13.5 ISupportErrorInfo接口
13.6 错误处理API函数
13.7 CreateErrorInfo
13.8 GetErrorInfo
13.9 SetErrorInfo
第14章 用户定义的数据类型
14.1 传递UDT
14.1.1 在IDL文件中说明UDT
14.1.2 获取IRecordInfo接口
14.1.3 传递单个UDT
14.1.4 传递UDT的安全数组
14.2 用户定义数据类型的支持方法
14.3 GetRecordInfoFromTypeInfo
14.4 GetRecordInfoFromGuids
14.5 IRecordInfo接口
第15章 API级格式化例程
15.1 VarTokenizeFormatString
15.2 VarFormat
15.3 VarFormatDateTime
15.4 VarFormatNumber
15.5 VarFormatPercent
15.6 VarFormatCurrency
15.7 VarWeekdayName
15.8 VarMonthName
15.9 VarFormatFromTokens
COM+词汇表
自动化词汇表
卷5:
译者序
第一部分 概述
第1章 欢迎使用“COM+开发人员参考库”
1.1 “COM+开发人员参考库”的组织方式
1.2 本书的组织方式
第2章 “COM+开发人员参考库”使用指南
2.1 本卷内容
2.2 其他各卷内容
2.3 获得更多信息
第3章 ActiveX控件介绍
3.1 概述
3.2 ActiveX控件
3.3 通用指南
第二部分 ActiveX
第4章 ActiveX控件
4.1 ActiveX控件结构
4.2 ActiveX控件接口
4.3 属性和方法
4.3.1 控件属性
4.3.2 控件方法
4.4 控件事件
4.5 可视化表示
4.6 控件的键盘处理
4.7 持续性
4.8 注册和验证
第5章 属性页和属性表
5.1 属性表和属性页
5.2 通过IPropertyNotifySink实现的数据绑定
第6章 ActiveX控件和控件容器指南
6.1 控件和控件容器指南概述
6.1.1 为什么ActiveX控件和控件容器指南很重要
6.1.2 当无法获得需要的接口时该怎么力、
6.1.3 控件和控件容器指南中有什么新的东西
6.2 控件
6.2.1 控件的自注册
6.2.2 支持一个接口意味着什么
6.2.3 持续性接口
6.2.4 控件接口中的可选方法
6.2.5 类工厂选项
6.2.6 属性
6.2.7 方法
6.2.8 控件中的事件
6.2.9 属性页
6.2.10 控件的环境属性
6.2.11 使用容器的功能
6.3 容器
6.3.1 必需的接口
6.3.2 可选方法
6.3.3 各种状态位支持
6.3.4 控件中的键盘处理
6.3.5 存储接口
6.3.6 环境属性
6.3.7 扩展属性、事件和方法
6.3.8 消息映射
6.3.9 自动剪切
6.3.10 缺少某个接口的情况下平滑地降级
6.4 组件类别
6.4.1 什么是组件类别并且它们是如何工作的
6.4.2 简单框架位置容器
6.4.3 简单数据绑定
6.4.4 高级数据绑定
6.4.5 VisualBasic私有接口
6.4.6 Internet可识别对象
6.4.7 无窗口控件
6.5 通用指南
6.5.1 重载IPropertyNotifySink
6.5.2 容器特定私有接口
6.5.3 多线程问题
6.5.4 事件冻结
6.5.5 容器控件
6.5.6 控件中的WS_GROUP和WS_TABSTOP标记
6.5.7 单个DLL中的多个控件
6.5.8 IOleContaincr:: EnumObjects方法
6.5.9 增强的元文件
6.5.10 许可
6.5.11 双重接口
6.5.12 IPropertyBag和IPersistPropertyBag
6.6 事件坐标转化
6.7 标准DISPIDS
6.8 数据绑定
第7章 ActiveX接口
7.1 IFont
7.2 IFont---Ole实现
7.3 IFontDisp
7.4 IFontDisp--Ole实现
7.5 IOleControl
7.6 IOleControlSite
7.7 IPerPropertyBrowsing
7.8 IPicture
7.9 IPicture-Ole实现
7.10 IPictureDisp
7.11 IPictureDisp-Ole实现
7.12 IPointerInactive
7.13 IPrint
7.14 PropertyNotifySink
7.15 IPropertyPage
7.16 IPropertyPage2
7.17 IPropertyPageSite
7.18 IPropertyPageSite--Ole实现
7.19 IQuickActivate
7.20 ISimpleFrameSite
7.21 ISpecifyPropertyPages
第8章 ActiveX函数
8.1 OleCreatePropertyFrame
8.2 OleCreatePropertyFrameIndirect
8.3 OleLoadPicturePath
8.4 OleTranslateColor
第9章 ActiveX结构
9.1 CADWORD
9.2 CALPOLESTR
9.3 CAUUID
9.4 CONIROLINFO
9.5 FONTDESC
9.6 UCINFO
9.7 OCPFIPARAMS
9.8 PAGERANGE
9.9 PAGESET
9.10 PICTDESC
9.11 PROPPAGEINFO
9.12 QACONTAINER
9.13 QACONTROL
第10章 ActiveX枚举
10.1 GUIDKIND
10.2 KEYMODIFIERS
10.3 PICTURE
10.4 PICTYPE
10.5 POINTERINACTIVE
10.6 QACONTAINERFLAGS
第三部分 结构化存储
第11章 关于结构化存储
11.1 结构化存储的好处
11.1.1 文件系统的演变
11.1.2 存储和流
11.1.3 复合文件
11.2 结构化存储基础
11.2.1 存储对象命名约定
11.2.2 结构化存储接口
11.2.3 结构化存储API函数
11.2.4 属性和属性集
11.2.5 结构化存储串行属性集格式
第12章 异步存储
12.1 存储模式
12.2 异步复合文件
12.3 异步绑定和存储是如何工作的
12.4 复合文件优化
第13章 使用结构化存储
13.1 COM对象中的存储
13.2 管理属性
13.3 COM中的属性集实现
13.3.1 属性集考虑事项
13.3.2 管理属性集
13.3.3 存储属性集
13.3.4 性能特征
13.3.5 实现概述信息属性集
13.3.6 IPropertySetStorage实现考虑事项
第14章 结构化存储接口
14.1 复合文件实现限制
14.2 IDirectWriterLock
14.3 IEnumSTATPROPSETSTG
14.4 IEnumSTATPROPSTG
14.5 iEnumSTATSTG
14.6 IFillLockBvtes
14.7 ILayoutStorage
14.8 ILockBytes
14.9 IPropertySetStorage
14.10 IPropertyStorage
14.11 IRootStorage
14.12 ISequentialStream
14.13 IStorage
14.14 IStream
第15章 结构化存储函数
15.1 CreatLockBytesOnHGlobal
15.2 CreateStreamOnHGlobal
15.3 FmtIdToPropStgName
15.4 FreePropVariantArray
15.5 GetConvertStg
15.6 GetHGlobalFromILock Bvtes
15.7 GetHGlobalFromStream
15.8 OleConvertIStorageToOLESTREAM
15.9 OleConvertIStorageToOLESTREAMEx
15.10 OleConvertOLESTREAMToIStorage
15.11 OleConvertOLESTREAMToIStorageEx
15.12 PropStgNameToFmtId
15.13 PropVariantClear
15.14 PropVariantCopy
15.15 PropVariantInit
15.16 ReadClassStg
15.17 ReadClassStm
15.18 ReadFmtUserTypeStg
15.39 SetConvertStg
15.20 StgCreateDocfile
15.21 StgCreateDocfileOnILockBytes
15.22 StgCreatePropSetStg
15.23 StgCreatePropStg
15.14 StgCreateStorageEx
15.25 StgGetIFillLockBytesOnFile
15.26 StgGetIFillLockBytesOnILockBytes
15.27 StgIsStorageFile
15.28 StgIsStorageILockBytes
15.29 StgOpenAsyncDocfileOnIFillLockBytes
15.30 StgOpenLayoutDocfile
15.31 StgOpenPropStg
15.32 StgOpenStorage
15.33 StgOpenStorageEx
15.34 StgOpenStorageOnILockBytes
15.35 StgSetTimes
15.36 WriteClassStg
15.37 WriteClassStm
15.38 WriteFmtUserTypeStg
第16章 结构化存储结构
16.1 PROPSPEC
16.2 PROPVARIANT
16.3 RemSNB
16.4 SNB
16.5 STATPROPSETSTG
16.6 STATPROOPSTG
16.7 STATSTG
16.8 STGOPTIONS
16.9 StorageLayout
第17章 结构化存储枚举类型
17.1 LOCKTYPE
17.2 PROPSETFLAG
17.3 STATFLAG
17.4 STGC
17.5 STGFMT
17.6 STGM
17.7 STGMOVE
17.8 STGTY
17.9 STREAM SEEK
17.10 范例
COM+词汇表
猜您喜欢