MkParseDisplayName.cpp
上传用户:bjlvip
上传日期:2010-02-08
资源大小:744k
文件大小:1k
源码类别:

Windows编程

开发平台:

Visual C++

  1. #define _WIN32_DCOM
  2. #include <windows.h>
  3. #include <iostream.h>
  4. #include "Componentcomponent.h"
  5. void main()
  6. {
  7. CoInitialize(NULL);
  8. OLECHAR string[] = L"clsid:10000002-0000-0000-0000-000000000001";
  9. IBindCtx* pBindCtx;
  10. CreateBindCtx(0, &pBindCtx);
  11. ULONG eaten;
  12. IMoniker* pMoniker;
  13. HRESULT hr = MkParseDisplayName(pBindCtx, string, &eaten, &pMoniker);
  14. if(FAILED(hr))
  15. {
  16. cout << "MkParseDisplayName failed" << endl;
  17. exit(0);
  18. }
  19. IClassFactory* pClassFactory;
  20. pMoniker->BindToObject(pBindCtx, NULL, IID_IClassFactory, (void**)&pClassFactory);
  21. ISum* pSum;
  22. pClassFactory->CreateInstance(NULL, IID_ISum, (void**)&pSum);
  23. int addition;
  24. pSum->Sum(23, 32, &addition);
  25. cout << "23 + 32 = " << addition << endl;
  26. pSum->Release();
  27. pClassFactory->Release();
  28. pBindCtx->Release();
  29. pMoniker->Release();
  30. CoUninitialize();
  31. }