VC中COM调用的方法(三)

2013-05-03 18:10:58 · 作者: · 浏览: 149

 

  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接口级别,一个插件可以采用以上形式去实现。