0

JavaScriptVBScriptGetObject中的 C++ 等价物是什么?

我发现与我的问题最接近的匹配是:

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

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

4

4 回答 4

2

我弄清楚了这个问题。我想访问的对象是

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

我错误地将 \\ 作为擒纵装置。在 C++ 中,正确的查询是:

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

谢谢 :)

于 2008-12-04T10:14:45.380 回答
1

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

于 2008-12-04T09:33:19.160 回答
0

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

于 2008-12-04T09:45:59.837 回答
0

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

查找 CoInitializeEx。

于 2008-12-04T09:53:23.317 回答