之前用过一点COM,但是是在ATL下用的,最近发现网上讲手动创建COM的文章,不是很详细,所以就分享下我的方法。
1.首先,建立一个win32项目
选为DLL
2.接下来是接口定义和实现
我就实现了IClassFactory 和一个简单的实现加法运算的类ZCalc,当然他们都要提供IUnknown的方法的实现。
这两个类如何实现,任何一本COM的书都会介绍,所以也不再这里多写了,可以参见我的详细源码
3.实现DLL暴露给COM库的4个重要函数
首先是DllGetClassObject,这个函数在调用CoGetClassObject的时候,会调用到,
作用是返回组件的类厂对象。