IEnumWbemClassObject::下一个方法不工作

IEnumWbemClassObject::Next method not working

本文关键字:工作 下一个 IEnumWbemClassObject 方法      更新时间:2023-10-16

我正试图从这个WMI类MSStorageDriver_FailurePredictData(HDD SMART信息)中获得供应商特定的属性。下面是使用的代码:

    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
     }

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

我想我找到解决办法了。我应该运行visual studio作为管理员