the code is the following :
BSTR MethodName = SysAllocString(L"DefragAnalysis");
BSTR ClassName = SysAllocString(L"Win32_Volume");
IWbemClassObject* pClass = NULL;
hres = pSvc-> GetObject (ClassName, 0, 0, &pClass, 0);
IEnumWbemClassObject* pEnumerator = NULL;
hres = pSvc-> ExecQuery (
bstr_t ("WQL"),
bstr_t ("SELECT * FROM Win32_Volume"),
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
NULL,
&pEnumerator);
IWbemClassObject *pclsObj;
ULONG uReturn = 0;
while (pEnumerator)
{
HRESULT hr = pEnumerator-> Next (WBEM_INFINITE, 1,
&pclsObj, &uReturn);
if (0 == uReturn)
{
break;
}
VARIANT vtProp;
if(FAILED(pclsObj->Get(L"__Path", 0, &vtProp, NULL, NULL)))
{
cout << "Object has no __Path!" << endl;
pclsObj->Release();
continue;
}
int test =0;
//Execute Method
IWbemClassObject* pOutParams = NULL;
VARIANT varReturnValue;
enter code here
hres = pSvc-> ExecMethod (vtProp.bstrVal, MethodName, 0,
//vtProp.bstrVal
NULL, NULL, &pOutParams, NULL);
hres = pOutParams->Get(L"ReturnValue", 0,
&***varReturnValue***,
NULL, 0);
VariantClear(&varReturnValue);
}
but i get a vaule of 11 of ReturnValue witch means Unknown error could someone help,i 've been looking for a solution for days
i dont know if the problem is in the list of Parameters of ExecMethod or anything else?