1.    定义自己的接口,且该接口必须继承自IUnknown
2.    实现自己的接口,并实现IUnknown。在QueryInterface中返回自己的接口指针,在AddRef中调用InterlockedIncrement增加自身引用计数,在中Release调用InterlockedDecrement减少自身引用计数,当自身引用计数为0的时候,用delete删除自己。
3.    实现自己的类工厂类,也需实现IUnknown,并实现IClassFactory。在CreateInstance中创建自己的接口对象并返回。
4.    使用DllGetClassObject使类工厂对组件公开。
5.    使用DllCanUnloadNow使用COM知道组件是否可以卸载。
6.    使用DllRegisterServer在注册表中注册该组件。
7.    使用DllUnregisterServer从注册表删除该组件的注册信息。
8.    导出4,5,6,7提到的函数。
 
《ATL开发指南》的第二章末尾就是一个这样的例子。这样实现的COM组件没有类型库(.tlb文件)。
 

本文链接地址: COM.5 COM学习之不使用框架(ATL或MFC)创建COM组件
https://blog.qingfengju.com/index.asp?id=84

上一篇: COM.1 COM编程简介
下一篇: GDI+练习之IE7风格多页面浏览器

分类:Win32/C++ 查看次数:7545 发布时间:2009/6/18 23:55:29