CoUninitialize();
2.这中方式通过定义接口指针进行操作。
[cpp]
CoInitialize(NULL);
CLSID clsid;
HRESULT hr=CLSIDFromProgID(OLESTR("Simple.Fun.1"),&clsid);
IFun *ptr;
hr=CoCreateInstance(clsid,NULL,CLSCTX_INPROC_SERVER,
__uuidof(IFun),(LPVOID*)&ptr);
long ret = ptr->Add(12,12);
TCHAR buf[1024];
wsprintf(buf,TEXT("the retValue is: %d\n"),ret);
MessageBox(NULL, buf, TEXT("RESULT"),MB_OK);
CoUninitialize();
所谓的插件技术不过是在主程序上指定一套接口,所有遵循接口的可加载模块都是插件。主程序可以采用上面的方法去加载任意的dll,调用方法功能,只要满足就是插件,这样插件体系不再局限于COM接口级别,一个插件可以采用以上形式去实现。