IEnumWbemClassObject :: Next方法不起作用 [英] IEnumWbemClassObject::Next method not working
本文介绍了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屋!
查看全文