创建一个简单的组件的 步骤
1 创建一个新工程 选择 Win32 Dynamic-Link Library(Win32 动态连接库)
2 创建 IMATH.H文件
3 声明组件和类厂 创建一个MATH.H的文件
IClassFactory是一个标准的接口 该接口是特殊的,必须实现的构造器组件
使用它才能让外部客户可以创建自己的组件实例;类工厂是一个COM对象,他的唯一
功能是简化其他COM对象的创建方法
4 组件类和类工厂的实现(MATH.CPP)
5 创建组件的宿主(SERVER.CPP)
这个文件提供了组件的宿主程序的代码。IMATH.H,MATH.H,MATH.CPP组成了组件的实现
可是需要编写宿主程序代码来把这些组件包装在一起
<1>首先把INITGUID.H包含进来,通过他来定义DLL所使用的GUID
<2>定义两个维护你的宿主引用计数器的全局变量‘COM 需要通过一个DLL把两个函数导出到
一个真正的组件宿主里‘
<3>实现DllGetClassObject
6 添加对自注册和组件类别的支持
COM 的一个重要要求就是提供对自注册的内建支持
自注册只不过是在程序里添加所需的COM注册表项的能力
在基于DLL的组件里,DLL必须使用DllRegisterServer和DllUnregisterServer入口点为可见
然后工具程序(REGSVER32.EXE)将载入该DLL文件,通过GetProcAddress API函数调用来定位
这些入口点
'ATLDEVGUIDE.H的文件,它包含特有类别标识的定义
7 标准入口点的导出(SERVER.DEF)