JavaScript和VBScriptGetObject
中的 C++ 等价物是什么?
我发现与我的问题最接近的匹配是:
http://codewiz51.blogspot.com/2008/06/vb-script-getobject-c-api-cogetobject.html
但是,该示例使用不存在的接口并要求IUnknown
返回 null。有人有一个有效的例子吗?
JavaScript和VBScriptGetObject
中的 C++ 等价物是什么?
我发现与我的问题最接近的匹配是:
http://codewiz51.blogspot.com/2008/06/vb-script-getobject-c-api-cogetobject.html
但是,该示例使用不存在的接口并要求IUnknown
返回 null。有人有一个有效的例子吗?
我弄清楚了这个问题。我想访问的对象是
winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv
我错误地将 \\ 作为擒纵装置。在 C++ 中,正确的查询是:
::CoGetObject(L"winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\default:StdRegProv", NULL, IID_IUnknown, (void**)&pUnk);
谢谢 :)
您链接到的文章是正确的。您可能提供了错误的接口 ID,或者显示名称可能是错误的。您应该检查CoGetObject
调用的返回值。
如果请求 IUnknown 返回 NULL,则没有该名称的对象。每个 COM 对象都实现 IUnknown。
在进行任何 COM 调用之前,您是否初始化了 COM?
查找 CoInitializeEx。