提问者悬赏:10分 | ZW1988116 | 分类:C/C++ | 浏览5次
IWbemLocator pLocator = NULL;
IWbemServices *pNamespace = 0;
//IWbemClassObject * pClass = NULL;
// IWbemClassObject * pOutInst = NULL;
// IWbemClassObject * pInClass = NULL;
IWbemCallResult * ppCallResult = NULL;
//IWbemClassObject * pInst = NULL;
BSTR path = SysAllocString(L"root\standardcimv2\embedded");
BSTR ClassPath = SysAllocString(L"UWF_Filter");
BSTR MethodName = SysAllocString(L"Enable");
HRESULT hr = CoInitialize(0);
hr = CoInitializeSecurity(NULL,
-1,
NULL,
NULL,
RPC_C_AUTHN_LEVEL_PKT,
RPC_C_IMP_LEVEL_IMPERSONATE,
NULL,
EOAC_NONE,
NULL);
hr=CoCreateInstance(CLSID_WbemLocator,
0,
CLSCTX_INPROC_SERVER,
IID_IWbemLocator,
(LPVOID)&pLocator);
hr=pLocator->ConnectServer(path,
NULL,
NULL,
NULL,
0,
NULL,
NULL,
&pNamespace);
hr=pNamespace->ExecMethod(ClassPath,MethodName,0,NULL,NULL,NULL,&ppCallResult);
SysFreeString(path);
SysFreeString(ClassPath);
SysFreeString(MethodName);
pClass->Release();
//pInst->Release();
//pInClass->Release();
//ppCallResult->Release();
pNamespace->Release();
pLocator->Release();
CoUninitialize();