IEnumWbemClassObject :: Next方法不起作用 [英] IEnumWbemClassObject::Next method not working

查看:347
本文介绍了IEnumWbemClassObject :: Next方法不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从此WMI类MSStorageDriver_FailurePredictData(HDD SMART信息)中提供商特定属性。以下是使用的代码:

i am trying to vendor specifc attribute from this WMI class MSStorageDriver_FailurePredictData(HDD SMART information). Here is the used code :

IEnumWbemClassObject* pEnumerator = NULL;
    hres = pSvc->ExecQuery( L"WQL", L"SELECT * FROM MSStorageDriver_FailurePredictData",
    WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &pEnumerator);

    IWbemClassObject *pclsObj = NULL;
    ULONG uReturn = 0;
      while (pEnumerator)
   {
    HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, &pclsObj, &uReturn);
            //**I am getting an issue here the method Next() returns hr=-2147217405 **

    if(0 == uReturn || FAILED(hr))
      break;
         //do smoething
     }



i需要知道为什么Next()不能正常工作。


i need to know why Next() is not working properly.

推荐答案

所有的线索都在那里



-2147217405 == 0x80041003 == WBEM_E_ACCESS_DENIED



此外,而(pEnumerator)是永远是真的
All the clues are there

-2147217405 == 0x80041003 == WBEM_E_ACCESS_DENIED

Additionally, while(pEnumerator) is always going to be true


我想我找到了解决方案。我应该以管理员
i think i figured out the solution.I should run visual studio as Administrator

这篇关于IEnumWbemClassObject :: Next方法不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆