Chinaunix

标题: CoCreateInstance错误 [打印本页]

作者: gengpengfeiX    时间: 2008-02-28 17:11
标题: CoCreateInstance错误
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,"失败原因:指定的类没有在注册表中注册. 也可能是指定的dwClsContext没有注册或注册表中的服务器类型损坏");
                                else if(nReturn==CLASS_E_NOAGGREGATION)
                                        G_Log(LOG_ERROR,0,"失败原因:这个类不能创建为聚合型");
                                else if(nReturn==E_NOINTERFACE)
                                        G_Log(LOG_ERROR,0,"失败原因: 指定的类没有实现请求的接口, 或者是IUnknown接口没有暴露请求的接口");
                                else
                                        G_Log(LOG_ERROR,0,cReturn);
                        }

执行CoCreateInstance错误,返回的不是S_OK,而且MSN上说的返回类型都不匹配

查看日志返回的结果 为 :

[2008-02-28 15:28:00][ERROR]GetWmiInfo 初始化WMI COM接口失败!
[2008-02-28 15:28:00][ERROR]-2147217388

想问下面两个问题
     1.返回这个值代表什么意思?

      2,如果这样查不出来错误原因,大家有什么建议


                 谢谢

补充一下 :这个程序在大部分系统都好用,偶尔几个系统不好用,现在有一个NT的系统,所以我觉得是不是系统什么地方需要设置?

[ 本帖最后由 gengpengfeiX 于 2008-2-28 17:21 编辑 ]
作者: gengpengfeiX    时间: 2008-02-29 11:33
自己顶一下




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2