如何获取数据IWbemClassObject**

How to get data IWbemClassObject **

本文关键字:数据 IWbemClassObject 获取 何获取      更新时间:2023-10-16

Hello如何从这个数组中获取数据?或者如何获取我可以提取的所有名称?

hres = pSvc->ExecNotificationQueryAsync( _bstr_t("WQL"), _bstr_t("SELECT * " 
            "FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'"), 
        WBEM_FLAG_SEND_STATUS,  NULL, pStubSink);
for (int i = 0; i < lObjectCount; i++)
{
    VARIANT varName;
    hres = apObjArray[i]->Get(_bstr_t(L"__CLASS"),
        0, &varName, 0, 0);
    if (FAILED(hres))
    {
        cout << "Failed to get the data from the query"
            << " Error code = 0x"
            << hex << hres << endl;
        return WBEM_E_FAILED;       // Program has failed.
    }
    printf("Name: %lsn", V_BSTR(&varName));
}

您的代码无法工作,因为必须使用IWbemObjectSink对象处理ExecNotificationQueryAsync方法的结果。试试这个MSDN示例Receiving Event Notifications Through WMI。您还可以使用类似WMI Delphi Code Creator的工具来生成访问WMI的C++代码。