- 論壇徽章:
- 0
|
unsigned int WMIServer(LPVOID pParam){
while(1){
CComPtr<IWbemLocator> spWbemLocator;
CComPtr<IWbemServices> spWbemServices;
WMIServerStat = 0;
//AfxOleInit();
CoInitialize(NULL);
if(CoInitializeSecurity( NULL, -1, NULL, NULL, RPC_C_AUTHN_LEVEL_PKT, RPC_C_IMP_LEVEL_IMPERSONATE,NULL, EOAC_NONE, 0 ) == S_OK )
if( (nReturn=spWbemLocator.CoCreateInstance( CLSID_WbemAdministrativeLocator , 0 , CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER ) )== S_OK )
{
………………………………
……………………………………、}
else{
G_Log(LOG_ERROR,0,"GetWmiInfo 初始化WMI COM接口失敗!");
char cReturn[10];
itoa(nReturn,cReturn,10);
if(nReturn==REGDB_E_CLASSNOTREG)
G_Log(LOG_ERROR,0,"失敗原因:指定的類沒(méi)有在注冊(cè)表中注冊(cè). 也可能是指定的dwClsContext沒(méi)有注冊(cè)或注冊(cè)表中的服務(wù)器類型損壞");
else if(nReturn==CLASS_E_NOAGGREGATION)
G_Log(LOG_ERROR,0,"失敗原因:這個(gè)類不能創(chuàng)建為聚合型");
else if(nReturn==E_NOINTERFACE)
G_Log(LOG_ERROR,0,"失敗原因: 指定的類沒(méi)有實(shí)現(xiàn)請(qǐng)求的接口, 或者是IUnknown接口沒(méi)有暴露請(qǐng)求的接口");
else
G_Log(LOG_ERROR,0,cReturn);
}
執(zhí)行CoCreateInstance錯(cuò)誤,返回的不是S_OK,而且MSN上說(shuō)的返回類型都不匹配
查看日志返回的結(jié)果 為 :
[2008-02-28 15:28:00][ERROR]GetWmiInfo 初始化WMI COM接口失敗!
[2008-02-28 15:28:00][ERROR]-2147217388
想問(wèn)下面兩個(gè)問(wèn)題
1.返回這個(gè)值代表什么意思?
2,如果這樣查不出來(lái)錯(cuò)誤原因,大家有什么建議
謝謝
補(bǔ)充一下 :這個(gè)程序在大部分系統(tǒng)都好用,偶爾幾個(gè)系統(tǒng)不好用,現(xiàn)在有一個(gè)NT的系統(tǒng),所以我覺(jué)得是不是系統(tǒng)什么地方需要設(shè)置?
[ 本帖最后由 gengpengfeiX 于 2008-2-28 17:21 編輯 ] |
|