• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 一个函数中有CoInitialize,就一定要有CoUninitialize吗?可不可以分开?

一个函数中有CoInitialize,就一定要有CoUninitialize吗?可不可以分开?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了一个函数中有CoInitialize,就一定要有CoUninitialize吗?可不可以分开?等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 一个函数中有CoInitialize,就一定要有CoUninitialize吗?可不可以分开?
描述:

一个函数中有CoInitialize,就一定要有CoUninitialize吗?可不可以分开?
我写一个程序,程序初始化的时候就要用那个COM,因此初始化的函数中会有"CoInitialize",
而程序运行过程中,这个COM都要工作,中间不能关闭它,
只有点到“CLOSE"按钮的时候,才可以执行CoUninitialize,将它是释放掉。
这样做可以吗?我看的参考程序,都是一个函数中有CoInitialize,就有CoUninitialize,没看到它们分开写过。


解决方案1:

当然可以分开写
只要保证你的com代码在CoInitialize/CoUninitialize之间就可以

解决方案2:

每一个线程都需要用CoInitialize/CoUninitialize

解决方案3:

struct InitOle
  {
    InitOle()  { ::CoInitialize(NULL); }
    ~InitOle() { ::CoUninitialize();  }
  } ;
InitOle _init_main_InitOle_; //define a global member to initial for main thread
InitOle _init_thread_InitOle_;//define a member in each thread proc of other threads if you want to use COM in that thread

解决方案4:

都不分开写的,对每一个线程都需要用CoInitialize/CoUninitialize,你的做法可以


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 一个函数中有CoInitialize,就一定要有CoUninitialize吗?可不可以分开?

相关文章

  • 2017-06-04 VC2008操作WEBSERVICE错哪了,简单的例子请高手帮看下
  • 2017-06-05 softice在win2kserver下的问题
  • 2017-06-04 怎么从一个avi文件中把音频资源,以BYTE的形式读取出来
  • 2017-06-04 _com_issue_errorex问题
  • 2017-06-05 求助:关于smtp,pop3,ftp数据包的分析和测试问题,谢谢了,急啊
  • 2017-06-04 在EXECEL放插件,控制CEXCEL的删除、增加行和列有难度啊!!!!!
  • 2017-06-04 怎样在ATL中使用画笔没分了
  • 2017-06-04 高分求解,我做了一个服务请问如何进行调试?解决后马上给分!!
  • 2017-06-04 容器返回_RecordsetPtr类型的记录集,ActiveX的相应属性应该定义成什么类型
  • 2017-06-04 如何在MFC中调用C#编写的DLL

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • dll调用外部函数的问题。
    • 高分求解跨进程操作CRichEditCtrl的问题
    • 请教一下谁用过这个线程池
    • vc操作word画了一个矩形,如何往矩形框里面写字呢?
    • 请问DLL回调函数有时不能立即响应?怎解决呀!见代码?
    • 服务运行出错,请教大家
    • 请大家看一个很简单的问题阿,气死我了,asp和dll开发时的调试
    • 如何卸载dll?
    • COM组件里面如何返回字符串?
    • 创建一个快捷方式时,碰到这种情况怎么实现

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有