使用ATL开发COM组件
使用ATL开发COM组件之前,要对几个重要的类进行说明:
CComModule
这是ATL的中心模块类,它的作用有点像MFC中的CWinApp,但没有后者那么庞大。它和它导出的类主要负责处理引用技术、在本地服务器内的类厂注册以及管理自动注册和自动反注册的注册表管理程序间的协调。若要创建进程内组件,只需直接使用CComModule,但如果是创建本地组件,则需要派生CComModule。
CComObjectRoot 和 CComObjectRootEx
他们的基本功能是处理组件的引用计数并对聚合提供支持,其中后者是一个类模板,模板参数是线程模型,而前者是后者取一个默认的线程模型的实例。
CComCoClass
该类主要负责类厂的定义,并提供两个标准方法取得对象的CLSID和说明。

本文详细介绍了如何使用ATL开发COM组件,涉及到的关键类包括CComModule、CComObjectRoot、CComObjectRootEx、CComCoClass以及CComObject。CComModule作为ATL的核心模块,处理引用计数和类厂注册。CComObjectRoot和CComObjectRootEx处理组件的引用计数,而CComCoClass定义类厂并提供CLSID获取。CComObject实现了IUnknown接口。在VS2008中创建ATL项目,通过添加ATL简单对象并定义组件类,可以快速构建COM组件。接着,可以通过添加方法和属性来完善接口和实现。
——使用ATL开发COM组件&spm=1001.2101.3001.5002&articleId=43964673&d=1&t=3&u=9818d93772244ec9b6882ad7648e0e29)
3131

被折叠的 条评论
为什么被折叠?



