0

我想使用 COM 连接到正在运行的对象。我有这个代码。

  CLSID clsid;
  CLSIDFromProgID(L"CSI.ETABS.API.ETABSObject", &clsid);

  // get the active ETABS object
  CComPtr<IUnknown> pUnk;
  auto hRes = GetActiveObject(clsid, NULL, (IUnknown**)&pUnk);
  if(!CheckHRESULT(hRes, L"Cannot get active ETABSObject!")) return (hRes);
  hRes = pUnk->QueryInterface(__uuidof(ETABSv17::cOAPI), (void **) &pETABSObject);
  if(!CheckHRESULT(hRes, L"Cannot attach to ETABSObject!")) return (hRes);

但是编译器抱怨没有 GUID 与 ETABS:cOAPI 相关联。如何解决这个问题?

确切的错误消息是:无法在没有 guid 的对象上调用运算符 __uuidof。

4

0 回答 0