最近一直在WIN10上做开发,研发完成之后想在WIN7上也跑一下,毕竟还有很多电脑是WIN7的系统,结果移植过去之后,发现跑不起来,调试后发现竟然是下面这句出了问题:
hr = CoCreateInstance(clsid,
NULL,
CLSCTX_INPROC_SERVER,
IID_IUnknown,
(void**)&qi.pItf );
}
if( S_OK != hr ){
AfxMessageBox("无法生成对象!");
goto CLEANUP;
}
这之前一直都好好的,用另外一个程序(别人写的),里面有同样的语句,都没问题,为啥就我的这个程序会出问题呢,反复调试之后发现总是返回0x800401f0,尚未调用CoInitialize,啥意思呢,网上网下到处搜,未果,最后想了一下,既然是未调用初始化函数,那我就先调用一下呗,在前面加了一句:
LPVOID lp = NULL ;
CoInitialize(LPVOID) ;
果然通过。
就这点破事,整了两天。啥玩意。