WMI 编程中Get的用法
IEnumWbemClassObject* pEnumerator = NULL;
hres = pSvc->CreateInstanceEnum( L"CIM_USBHub", 0, NULL, &pEnumerator);
if (FAILED(hres))
{
pSvc->Release();
pLoc->Release();
CoUninitialize();
return FALSE; // Program has failed.
}
else
{
IWbemClassObject* pInstance = NULL;
ULONG dwCount = NULL;
hres = pEnumerator->Next(
WBEM_INFINITE,
1,
&pInstance,
&dwCount);
if(SUCCEEDED(hres))
{
VARIANT varUSBData;
VariantInit(&varUSBData);
CIMTYPE type;
hres = pInstance->Get(bstr_t("Availability"),0,&varUSBData,&type,NULL);
if(FAILED(hres))
{
VariantClear(&varUSBData);
}
else
{
VariantClear(&varUSBData);
}
}
pSvc->Release();
pLoc->Release();
CoUninitialize();
见如上code ,奇怪的就是 varUSBData返回的却是NULL,而我查msdnhttp://msdn.microsoft.com/en-us/library/windows/desktop/aa388650(v=vs.85).aspx 确实有Availability这一属性的,但为什么访问不到。
有人遇到过这样的问题吗?求解答 谢谢。