2008-12-04 90 views

回答

2

我想通了这个问题。我想访问的目的是

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

我误把\\的擒纵机构。在C++中正确的查询是:

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

谢谢:)

+0

那WMI对象提供对注册表的访问。在C++中有更简单的方法。 – 2009-01-15 08:32:09

1

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

0

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

0

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

查找CoInitializeEx。