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