【发布时间】:2012-09-30 13:36:09
【问题描述】:
我想用 WMI 做一些事情(接收一些事件通知),所以我从 MSDN 网站上的简单示例开始:
Receiving Event Notifications Through WMI
本程序通过WMI接收事件通知(进程创建),收到事件后调用EventSink::Indicate函数。
我在上面的链接(复制/过去)中使用了相同的代码,但做了一处更改: 在 EventSink 类中,函数
HRESULT EventSink::Indicate(long lObjectCount, IWbemClassObject **apObjArray)
我添加了几行来检索对象的属性(对象在 apObjArray 中返回):
for (int i = 0; i < lObjectCount; i++)
{
VARIANT varName;
hres = apObjArray[i]->Get(_bstr_t(L"Name"),
0, &varName, 0, 0);
//...
}
现在 Get(...) 函数返回 WBEM_E_NOT_FOUND(未找到指定的属性),无论我在寻找什么(从文档中确定属性在那里...)
请告诉我我错过了什么?!任何帮助表示赞赏。
【问题讨论】:
标签: c++ events notifications wmi