| 摘要 | 第5-6页 |
| abstract | 第6-7页 |
| 第一章 绪论 | 第12-15页 |
| 1.1 研究背景 | 第12-13页 |
| 1.2 本文贡献和主要特色 | 第13页 |
| 1.3 论文组织 | 第13-14页 |
| 1.4 本章小结 | 第14-15页 |
| 第二章 相关理论与技术基础 | 第15-27页 |
| 2.1 组件技术 | 第15-17页 |
| 2.1.1 CORBA | 第15-16页 |
| 2.1.2 EJB | 第16-17页 |
| 2.2 COM | 第17-23页 |
| 2.2.1 概述 | 第17-18页 |
| 2.2.2 COM本地环境执行流程 | 第18-22页 |
| 2.2.2.1 组件的创建过程 | 第18-20页 |
| 2.2.2.2 组件的注册 | 第20-21页 |
| 2.2.2.3 DLL的卸载 | 第21-22页 |
| 2.2.3 COM与注册表 | 第22-23页 |
| 2.3 模板元编程和MPL | 第23-26页 |
| 2.3.1 模板元编程概述 | 第23-25页 |
| 2.3.1.1 元数据 | 第24-25页 |
| 2.3.1.2 元函数 | 第25页 |
| 2.3.2 MPL | 第25-26页 |
| 2.4 本章小结 | 第26-27页 |
| 第三章 OCF的分析与设计 | 第27-40页 |
| 3.1 需求分析 | 第27-28页 |
| 3.1.1 功能性需求 | 第27页 |
| 3.1.2 非功能性需求 | 第27-28页 |
| 3.2 OCF系统架构 | 第28-29页 |
| 3.3 源码推导部件分析 | 第29-33页 |
| 3.3.1 设计思想 | 第29-30页 |
| 3.3.2 对外接 | 第30-31页 |
| 3.3.3 相关宏和基类介绍 | 第31-33页 |
| 3.4 OCF接口策略库设计 | 第33-38页 |
| 3.4.1 接口和策略代码结构 | 第33-34页 |
| 3.4.2 策略分析与设计 | 第34-38页 |
| 3.5 COM组件环境设计 | 第38-39页 |
| 3.6 本章小结 | 第39-40页 |
| 第四章 接口策略库的设计与实现 | 第40-68页 |
| 4.1 IUnknown | 第40-47页 |
| 4.1.1 PUnknownQueryInterface策略的实现 | 第41-44页 |
| 4.1.1.1 接口映射表IidArray | 第41-43页 |
| 4.1.1.2 策略实现 | 第43-44页 |
| 4.1.2 IUnknownCount策略 | 第44-47页 |
| 4.1.2.1 AddRef实现 | 第45-46页 |
| 4.1.2.2 Release实现 | 第46-47页 |
| 4.2 动态库策略PShareDll | 第47-48页 |
| 4.2.1 PShareDll策略 | 第47页 |
| 4.2.2 策略实现 | 第47-48页 |
| 4.3 锁策略PLock | 第48-50页 |
| 4.3.1 PLock策略 | 第49页 |
| 4.3.2 策略实现 | 第49-50页 |
| 4.4 GUID策略PGuid | 第50-51页 |
| 4.4.1 策略声明PGuid | 第50-51页 |
| 4.4.2 策略实现 | 第51页 |
| 4.5 注册表策略PRegistry | 第51-56页 |
| 4.5.1 策略声明PRegistry | 第51-52页 |
| 4.5.2 Windows实现 | 第52-53页 |
| 4.5.3 Unix/Linux实现 | 第53-56页 |
| 4.5.3.1 Unix的注册表模拟实现regfs | 第53页 |
| 4.5.3.2 Registry接口的实现 | 第53-56页 |
| 4.6 类厂策略 | 第56-58页 |
| 4.6.1 概述 | 第56-57页 |
| 4.6.2 实现 | 第57-58页 |
| 4.7 对象映射表策略PClassFactoryEmb | 第58-63页 |
| 4.7.1 对象映射表 | 第58-59页 |
| 4.7.2 对象映射宏 | 第59页 |
| 4.7.3 ClassInfo结构 | 第59-60页 |
| 4.7.4 DEFINE_CLASS_INFO宏 | 第60-62页 |
| 4.7.5 映射表内存布局及遍历 | 第62-63页 |
| 4.7.6 Unix/Linux与Windows的不同实现 | 第63页 |
| 4.8 服务器策略PModule | 第63-67页 |
| 4.8.1 策略声明 | 第63-64页 |
| 4.8.2 DllGetClassObject实现 | 第64-65页 |
| 4.8.3 DllCanUnloadNow实现 | 第65页 |
| 4.8.4 DllRegisterServer实现 | 第65-67页 |
| 4.8.5 DllUnregisterServer实现 | 第67页 |
| 4.9 本章小结 | 第67-68页 |
| 第五章 COM本地环境的实现 | 第68-76页 |
| 5.1 策略组装成组件 | 第68-69页 |
| 5.2 COM组件注册与卸载 | 第69-70页 |
| 5.3 COM组件创建 | 第70-72页 |
| 5.4 COM组件清理 | 第72-73页 |
| 5.5 OCF库 | 第73-74页 |
| 5.6 注册工具regsvr | 第74-75页 |
| 5.7 本章小结 | 第75-76页 |
| 第六章 测试与分析 | 第76-86页 |
| 6.1 测试环境 | 第76页 |
| 6.2 策略测试 | 第76-77页 |
| 6.3 COM环境测试 | 第77-85页 |
| 6.3.1 测试准备 | 第78-80页 |
| 6.3.2 组件注册测试 | 第80-82页 |
| 6.3.2.1 Windows下的注册测试 | 第80-81页 |
| 6.3.2.2 FreeBSD下的注册测试 | 第81-82页 |
| 6.3.3 组件创建测试 | 第82-84页 |
| 6.3.3.1 测试方案 | 第82-84页 |
| 6.3.3.2 测试结果及分析 | 第84页 |
| 6.3.4 组件卸载测试 | 第84-85页 |
| 6.3.4.1 Windows下的卸载测试 | 第84-85页 |
| 6.3.4.2 FreeBSD下的卸载测试 | 第85页 |
| 6.4 本章小结 | 第85-86页 |
| 第七章 结论与展望 | 第86-87页 |
| 致谢 | 第87-88页 |
| 参考文献 | 第88-90页 |
| 攻硕期间的研究成果 | 第90-91页 |