OleInitialize、CoInitialize、CoInitializeEx和AfxOleInit()区别
来源:互联网 发布:linux下ftp服务器搭建 编辑:程序博客网 时间:2024/05/19 12:39
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()。
- 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和OleInitialize的区别
- AfxOleInit()/CoInitialize()/CoInitializeEx()
- AfxOleInit()/CoInitialize()/CoInitializeEx()
- CoInitialize \CoInitializeEx\AfxOleInit
- CoInitialize()和AfxOleInit()区别
- AfxOleInit()和::CoInitialize(NULL)区别
- AfxOleInit()和::CoInitialize(NULL)区别
- AfxOleInit()和::CoInitialize(NULL)区别
- AfxOleInit()和::CoInitialize(NULL)区别
- AfxOleInit()和::CoInitialize(NULL)区别
- AfxOleInit()和::CoInitialize(NULL)区别
- Debian和Ubuntu Linux的NFS配置介绍
- 自定义NavigationBar的思路
- 关于前端的那些事
- Android应用开发之避免内存泄露
- 寻找第K小的数
- OleInitialize、CoInitialize、CoInitializeEx和AfxOleInit()区别
- Reader Writer BufferReader BufferWriter 装饰模式
- 如何使用SAE的Storage
- 概率随机问题
- iOS图片拉伸技巧
- ZOJ 1298 Domino Effect
- 各种排序算法及其Java程序实现
- oracle spatial下对wkt字符串操作遇到srid的解决方案
- 硬盘分区出现问题