CoInitialize \CoInitializeEx\AfxOleInit
来源:互联网 发布:男士洗面奶推荐 知乎 编辑:程序博客网 时间:2024/06/05 17:57
CoInitialize CoInitializeEx 是用来初始化COM运行环境的。
OleInitialize是初始化Ole的运行环境,Ole是在Com的基础上作的扩展,是ActiveX运行的基础,OleInitialize肯定会调用CoInitialize。
CoInitialize、CoInitializeEx都是windows的API,主要是告诉windows以什么方式为程序创建COM对象,原因是程序调用com库函数(除CoGetMalloc和内存分配函数)之前必须初始化com库。
应用:
1. CoInitialize 仅仅初始化Com,支持多线程。也就是说如果多线程调用Com接口,必须在每个线程中都调用CoInitialize。
2. OleInitialize 初始化Com(其实也是调用CoInitializeEx),支持多线程。比CoInitialize多了一下内容:
A) Clipboard
B) Drag and drop
C) Object linking and embedding (OLE)
D) In-place activation
如果不需要这些,用CoInitialize就可以。
3. AfxOleInit是MFC对OleInitialize的封装。貌似不支持多线程,也就是说只能在主进程调用该函数,如果线程需要使用Com必须调用上面的两个来实现初始化。而且MSDN明确标明AfxOleInit不能在MFC的DLL中调用,否则也会造成初始化失败。
4.OleInitialize和OleUninitialize( )成对使用;CoInitialize和CoUninitialize成对使用;CoInitializeEx和CoUninitialize成对使用;AfxOleInit()由MFC自动释放。
VC++使用ADO访问ACCESS时,出现_RecordsetPtr Open卡或者_ConnectionPtr Excute卡或者_CommandPtr Excute一直卡住等莫名其妙的情况时,而语法又没有错误时,请确定初始化COM函数。
MFC程序建议使用AfxOleInit()。
0 0
- AfxOleInit()/CoInitialize()/CoInitializeEx()
- CoInitialize()、CoInitializeEx()和AfxOleInit()
- AfxOleInit()/CoInitialize()/CoInitializeEx()
- CoInitialize \CoInitializeEx\AfxOleInit
- CoInitialize与CoInitializeEx,AfxOleInit()的不同
- CoInitialize与CoInitializeEx,AfxOleInit()的不同
- OleInitialize、CoInitialize、CoInitializeEx和AfxOleInit()区别
- OleInitialize、CoInitialize、CoInitializeEx和AfxOleInit()区别
- OleInitialize、CoInitialize、CoInitializeEx和AfxOleInit()区别
- OleInitialize、CoInitialize、CoInitializeEx和AfxOleInit()区别
- OleInitialize、CoInitialize、CoInitializeEx和AfxOleInit()区别
- CoInitialize()、CoInitializeEx()和AfxOleInit()区别联系
- CoInitialize与CoInitializeEx,AfxOleInit()的不同 控制台程序中AfxOleInit失效原因
- CoInitialize()和AfxOleInit()区别
- AfxOleInit()和::CoInitialize(NULL)区别
- CoInitializeEx 与CoInitialize的区别
- AfxOleInit()和::CoInitialize(NULL)区别
- CoInitializeEx 与CoInitialize的区别
- Swift数字类型之间的转换
- java 在控制台运行的时候有中文乱码
- MAC下 nginx搭建https服务器
- Windows 已在棒材计数分钢系统.exe 中触发一个断点
- SQL:??合并运算符
- CoInitialize \CoInitializeEx\AfxOleInit
- Asmack开发系列之XMPP概述
- 0821安卓班 2014_09_05 问题解答
- poj1056 & hdu1305 & zoj1808 Immediate Decodability(字典树变形)
- Perl中的程序注释:单行注释和多行注释
- Java对Cookie的添加和查询
- zookeeper编程(二)
- 正则表达式和python的re模块
- cmake 命令行 生成 vs2012项目