COM接口必须得提供给客户程序,这样他们才能知道你的这个DLL存在什么样的函数实现什么样的功能,同时还需要一个GUID和接口ID。COM的接口你可以把它当成一个虚类处理。
定义接口如下:mycom.h
01.#pragma once 02.#include "unknwn.h" 03.// {85F5CF11-2A25-4ef9-8F7C-8C3F14A0860A} 04.static const GUID CLSID_MyCOM = 05.{ 0x85f5cf11, 0x2a25, 0x4ef9, { 0x8f, 0x7c, 0x8c, 0x3f, 0x14, 0xa0, 0x86, 0xa } }; 06.// {07C4A7BC-BBD1-4ced-80A5-A76377929F35} 07.static const IID IID_ITest = 08.{ 0x7c4a7bc, 0xbbd1, 0x4ced, { 0x80, 0xa5, 0xa7, 0x63, 0x77, 0x92, 0x9f, 0x35 } }; 09.interface ITest : public IUnknown 10.{ 11. STDMETHOD (Add)(int nOp1, int nOp2, int* pret) PURE; 12.}; 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhoujianhei/archive/2010/07/30/5777527.aspx
C++ COM 源码下载(不推荐下载,这是备案)
http://download.csdn.net/source/2586072
一个简单COM的实现及调用已经完整展现出来了,正如开始所说COM是一种接口技术,如果对COM技术进行更深层的研究请查阅相关文档资料。