Code:
//pCimv2 is succesfully connected to : \\\\\.\\root\\cimv2
BSTR clsname = SysAllocString(L"Win32_OperatingSystem");
BSTR MethodName = SysAllocString(L"Win32Shutdown");
IWbemClassObject* pClsProc = NULL;
IWbemClassObject* pInParams = NULL;
IWbemClassObject* pOutMethod = NULL;
IWbemClassObject* pClsProcInst = NULL;
g_core_hr = pCimv2->GetObjectW(clsname, 0, NULL, &pClsProc, NULL);
if( SUCCEEDED(g_core_hr) ) {
g_core_hr = pClsProc->GetMethod(MethodName, 0, &pInParams,NULL);
if( SUCCEEDED(g_core_hr) ) {
g_core_hr = pInParams->SpawnInstance(0, &pClsProcInst);
if( SUCCEEDED(g_core_hr) ) {
VARIANT pcVal;
VARIANT rsVal;
VariantInit(&pcVal);
pcVal.vt = VT_I4;
pcVal.lVal = 1;
VariantInit(&rsVal);
rsVal.vt = VT_I4;
rsVal.lVal = 0;
g_core_hr = pClsProcInst->Put(L"Flags", 0,&pcVal, 0 );
g_core_hr = pClsProcInst->Put(L"Reserved", 0,&rsVal, 0);
if( SUCCEEDED(g_core_hr) ) {
g_core_hr = pCimv2->ExecMethod(clsname, MethodName, 0, NULL,
pClsProcInst, &pOutMethod, NULL);
if(FAILED(g_core_hr)) {
// getting the error
}
}
VariantClear(&pcVal);
VariantClear(&rsVal);
}
}
}
thanks.
If you face anymore trouble then let me know.
Posted via DevelopmentNow.com Groups
http://www.developmentnow.com/g/