【问题标题】:What is the C++ equivalent to GetObject in JavaScript and VBScript?JavaScript 和 VBScript 中与 GetObject 等效的 C++ 是什么?
【发布时间】:2010-09-25 07:07:03
【问题描述】:

JavaScriptVBScript 中与GetObject 等效的C++ 是什么?

我找到的与我的问题最接近的匹配项是:

http://codewiz51.blogspot.com/2008/06/vb-script-getobject-c-api-cogetobject.html

但是,示例使用不存在的接口并要求 IUnknown 返回 null。有人有一个有效的例子吗?

【问题讨论】:

    标签: c++ winapi com vbscript wsh


    【解决方案1】:

    您链接到的文章是正确的。您可能提供了错误的接口 ID,或者显示名称可能是错误的。您应该检查CoGetObject 调用的返回值。

    【讨论】:

      【解决方案2】:

      如果请求 IUnknown 返回 NULL,则没有该名称的对象。每个 COM 对象都实现了 IUnknown。

      【讨论】:

        【解决方案3】:

        在进行任何 COM 调用之前,您是否初始化了 COM?

        查找 CoInitializeEx。

        【讨论】:

          【解决方案4】:

          我发现了这个问题。我想访问的对象是

          winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv

          我错误地将 \\ 当作擒纵机构。在 C++ 中,正确的查询是:

          ::CoGetObject(L"winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\default:StdRegProv", NULL, IID_IUnknown, (void**)&pUnk);

          谢谢你:)

          【讨论】:

          • 该 WMI 对象提供对注册表的访问。在 C++ 中有更简单的方法。
          猜你喜欢
          • 1970-01-01
          • 2011-04-15
          • 2019-06-26
          • 2010-11-27
          • 2018-07-17
          • 2019-12-22
          • 2023-02-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多