1 / 83
文档名称:

COM特性.ppt

格式:ppt   页数:83页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

COM特性.ppt

上传人:zbggqyk171 2015/11/2 文件大小:0 KB

下载得到文件列表

COM特性.ppt

相关文档

文档介绍

文档介绍:特性特性潘爱民潘爱民://..pkupku..eduedu..//pCourse内容内容复习:可重用模型可重用模型√√跨进程模型跨进程模型√√安全性安全性复习:对象创建过程复习:对象创建过程客户组件创建实例对象DllGetClassObject{}创建类厂对象复习:复习:TreeViewTreeView组件的注册信息组件的注册信息Microsoft TreeView ControlC:\WINDOWS\{6B7E6392-850A-101B-AFC0-4210102A8DA7}C:\WINDOWS\:类厂复习:类厂((Class Factory)Class Factory) 类厂:用于创建类厂:对象对象目标:完成目标:对象的创建过程,更好对象的创建过程,更好地把客户与对象隔离开来。地把客户与对象隔离开来。特殊性:特殊性:––实现一个或多个创建接口,缺省的接口为实现一个或多个创建接口,缺省的接口为IClassFactoryIClassFactory––类厂本身没有类厂本身没有CLSIDCLSID––但是类厂的引用计数不参与对组件生命周期但是类厂的引用计数不参与对组件生命周期的控制,如果需要,可以使用锁计数功能的控制,如果需要,可以使用锁计数功能复习:类厂复习:类厂((续续)) 对象有一一对应关系对象有一一对应关系字典组件IClassFactory类厂字典对象IDictionaryISpellCheck多对象、多类厂组件类厂 1对象 1类厂 2对象 2复习:COM创建函数创建函数 CoGetClassObjectCoGetClassObject CoCreateInstanceCoCreateInstance CoCreateInstanceExCoCreateInstanceEx 注意:对于注意:对于DLLDLL组件,创建函组件,创建函数调用数调用DllGetClassObjectDllGetClassObject引出引出函数创建类厂,再由类厂创建函数创建类厂,对象对象复习:COM库的内存管理库的内存管理组件程序的装载和卸载组件程序的装载和卸载常用函数和常用函数和HRESULTHRESULT–– GUIDGUID管理管理––创建函数创建函数––初始化函数初始化函数––内存管理函数内存管理函数––字符串使用字符串使用OLECHAROLECHAR类型类型复习:实现一个进程内复习:组件的步骤组件的步骤定义必要的定义必要的CLSIDCLSID和和IIDIID 对象对象––通过通过QueryInterfaceQueryInterface暴露其接口暴露其接口––管理引用计数,注意对全局引用计数的维护管理引用计数,注意对全局引用计数的维护实现类厂对象实现类厂对象––对象的引用计数不记在全局对象引用计数内对象的引用计数不记在全局对象引用计数内––维护锁计数维护锁计数实现实现DllGetClassObjectDllGetClassObject、、DllCanUnloadNowDllCanUnloadNow ((可选可选))实现两个注册函数实现两个注册函数可重用性(可重用性(reusereuse,,复用)复用) 重用性:重用性:当一个程序单元能够对其他的程序单元提当一个程序单元能够对其他的程序单元提供功能服务时,尽可能地重用原先程序单元的代码,供功能服务时,尽可能地重用原先程序单元的代码,既可以在源代码一级重用,也可以在可执行代码一级既可以在源代码一级重用,也可以在可执行代码一级重用。重用。重用性:重用性:是建立在二进制代码基础是建立在二进制代码基础上的标准,所以其重用性也必然建立于二进制代码上。上的标准,所以其重用性也必然建立于二进制代码上。重用模型:包容和聚合重用模型:包容和聚合真正的重用:真正的重用:是实现重用而不是代码重用是实现重用而不是代码重用