gpt4 book ai didi

c++ - 访问 COM 接口(interface)方法 C++

转载 作者:行者123 更新时间:2023-11-30 01:33:02 24 4
gpt4 key购买 nike

两者:

  • 链接地址
  • 独立身份证

已指定上述内容,并使用:

  • CoCreateInstance()

返回由上面的 CLSID 指定的类的单个未初始化对象。

然后如何从 C++ 访问接口(interface)的方法?没有:

  • ATL
  • MFC
  • 只是简单的 C++

然后,我使用 CreateInstance()

我在使用 CreateInstance() 时遇到问题 - 最后一个参数 - ppv

使用oleview,可以看到上面指定IID以上的IID的方法,如:

interface IS8Simulation : IDispatch {
HRESULT Open([in] BSTR FileName);
};

我怎样才能访问上面的内容?示例/指导 - 请

问候

最佳答案

通过执行 CoCreateInstance,您可以获得接口(interface)指针。通过 QueryInterface(...) 方法,您可以轻松获取其他接口(interface)的接口(interface)指针。例如。,


IUnknown* pUnk = NULL;
HRESULT hr = ::CoCreateInstance(clsid,NULL,CLSCTX_ALL,__uuidof(IUnknown),(void**)&pUnk);<p></p>

<p>IS8Simulation* pSim = NULL;
hr = pUnk->QueryInterface(__uuidof(IS8Simulation), (void**)&pSim);</p>

执行此操作后,您将获得指向 pSim 中 IS8Simulation 的指针,并通过它可以调用该接口(interface)的方法。请记住,您需要在 CoCreateInstance 调用中提供有效的 clsid。

关于c++ - 访问 COM 接口(interface)方法 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/427289/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com