读书人

为什么在多线程调用的函数中 HRESULT

发布时间: 2012-01-14 20:02:35 作者: rapoo

为什么在多线程调用的函数中 HRESULT hres = CoInitializeEx(0, COINIT_MULTITHREADED); 失败?
创建10个线程,为什么第一个是正常的,不会打印现“失败”,以后的线程全部打印“失败”?

for(int i=0;i <10;i++){
threads[i] = CreateThread(NULL,0,FunProc,NULL,0,NULL);
Sleep(100);
}

DWROD WINAPI FunProc(LPVOID lpPara){

HRESULT hres = CoInitializeEx(0, COINIT_MULTITHREADED);

if (FAILED(hres))
{
cout < < "失败 "
< < hex < < hres < < endl;
ClearThreadAndIp(ip);
return 1;
}
}

谢谢!

[解决办法]
我猜想是每个进程中初始化一次即可

读书人网 >VC/MFC

热点推荐