在线程中需重新初始化COM接口,代码如下:
CoInitialize(NULL);请问在线程中需要释放吗?
CoUninitialize();什么情况下需要调用CoUninitialize();
不调用CoUninitialize函数,会有什么影响?

解决方案 »

  1.   

    CoInitialize(NULL); 与CoUninitialize();一一对应CoUninitialize : Closes   the   COM   library   on   the   current   thread,   unloads   all   DLLs   loaded   by   the   thread,   frees   any   other   resources   that   the   thread   maintains,   and   forces   all   RPC   connections   on   the   thread   to   close.  
    也就是说你不调用CoUninitialize的话 就可能会有些资源什么的没有释放  还可能造成其他别的问题  我曾经就是忘记CoUninitialize  然后程序退出时候异常终止了 
      

  2.   

    最好在app初始化的时候调用CoInitialize,app退出的时候再CoUninitialize,这样就不用在每个单独的线程来一次
      

  3.   

    CoInitialize(NULL)与CoUninitialize()我还遇到过这种问题:http://topic.csdn.net/u/20080623/21/e001e8c2-1d40-4120-a2ac-58340e6fd882.html
    有兴趣你看一下