COM编程入门.docx
COM编程入门是针对初次接触此技术的程序员,旨在介绍组件对象模型(Component Object Model,简称COM)的基本概念和使用方法。COM是微软提出的一种跨应用程序和语言的二进制代码共享机制,其核心目标是促进代码重用,解决源代码重用的局限性,比如C++中的命名冲突和代码复制导致的问题。 COM规范定义了二进制标准,确保不同编程语言编译的模块能够相互协作。它规定了在内存中COM对象的组织方式,使得任何语言都能访问这些对象。虽然COM最初是为Win32平台设计的,理论上可以移植到其他操作系统,但在实践中,它主要应用于Windows环境。 在COM架构中,关键概念包括: 1. **接口(Interface)**:一组方法的集合,类似于C++中的纯虚函数接口。接口名称以大写字母I开头,如IShellLink。接口可以单继承,不允许多继承。 2. **组件对象类(CoClass)**:实现一个或多个接口的代码实体,存在于DLL或EXE中。在内存中,每个COM对象都是一个CoClass的实例。 3. **COM对象(COM Object)**:CoClass的具体实例,表现为实现特定接口的内存结构。 4. **COM服务器(COM Server)**:包含一个或多个CoClass的二进制文件,可以是DLL或EXE,提供COM对象的实现。 5. **注册(Registration)**:将COM服务器的信息写入注册表的过程,以便操作系统知道如何找到和使用它们。 6. **取消注册(Unregistration)**:从注册表中移除COM服务器的条目。 7. **GUID(全局唯一标识符)**:每个COM组件都有一个唯一的128位标识符,确保不会与其他组件混淆。 COM编程涉及的主要操作有: - **创建COM对象**:通过CoCreateInstance函数,传入组件的CLSID(类ID,即GUID的一种)来实例化对象。 - **使用COM对象**:调用对象上的方法,这些方法对应接口中定义的函数。 - **销毁COM对象**:使用Release方法减少引用计数,当计数为0时,对象会被自动释放。 COM还引入了基本接口IUnknown,它是所有其他接口的基接口,包含了三个重要的方法:QueryInterface(查询对象支持的接口)、AddRef(增加引用计数)和Release(减少引用计数)。 在处理字符串时,COM通常使用BSTR类型,这是OLE Automation中定义的一种Unicode字符串。使用COM技术时,需要理解和正确处理HRESULT,这是一个返回值类型,用于表示操作成功或失败的状态。 通过学习COM的基本概念,程序员可以利用已有的COM组件,如Windows外壳组件Shell,来扩展和集成应用程序功能。掌握COM编程不仅能够提升开发效率,还能更好地利用Windows操作系统中的内置组件和第三方COM对象。
剩余33页未读,继续阅读
- deject2017-11-26不错,有借鉴意义。
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助