Visual c++ WMI IWbemClassObject::GetNames状态完成

Visual c++ WMI IWbemClassObject::GetNames状态完成,visual-c++,wmi,wmi-service,Visual C++,Wmi,Wmi Service,我进行WMI查询从1内的InstanceCreationEvent中选择*,其中TargetInstance ISA“Win32\u进程” hres = this->m_IWbemServicesComPtr->ExecNotificationQueryAsync( _bstr_t("WQL"), _bstr_t(query.c_str()), WBEM_FLAG_SEND_STATUS, 0, this->m_IWbemObjec

我进行WMI查询从1内的InstanceCreationEvent中选择*,其中TargetInstance ISA“Win32\u进程”

hres = this->m_IWbemServicesComPtr->ExecNotificationQueryAsync(
    _bstr_t("WQL"), 
    _bstr_t(query.c_str()),
    WBEM_FLAG_SEND_STATUS, 
    0, 
    this->m_IWbemObjectStubSinkComPtr.GetInterfacePtr());
在调用COM对象IWbemClassObject(在方法IWbemObjectSink::Indicate的实现中检索)的实例上的方法GetNames之前,总是ok。当我调用IWbemClassObject::GetNames时,一些WMI机制调用我的IWbemObjectSink::SetStatus,并使用标志WBEM\u STATUS\u COMPLETE并且没有新事件发生!!!我不调用任何取消异步方法

我做错了什么?如何防止停止WMI事件?如何安全地调用GetNames?在调用IWbemClassObject::GetNames之后,我仍然希望订阅新事件

UDPATE:如何调用GetName:


piappObj是通过显示的方式抓取的对象

这是一个过时的问题,因此可能已经太晚了,但尝试这样打电话:

HRESULT hres;
long unsigned result;

hres = piappObj->GetNames(   
                     WBEM_INFINITE,
                     1,
                     & piappObj,
                     & result);

这是一个过时的问题,所以可能太晚了,但试着这样打电话:

HRESULT hres;
long unsigned result;

hres = piappObj->GetNames(   
                     WBEM_INFINITE,
                     1,
                     & piappObj,
                     & result);

您发布的代码不完整。你能展示一下你是如何调用
GetNames
函数的吗?@RRUZ当然:)我更新了我的问题。你发布的代码不完整。你能演示一下如何调用
GetNames
函数吗?@RRUZ当然:)我更新了我的问题。