coinitializeex_coinitializeex 失败_coinitializeex头文件

电脑杂谈  发布时间:2017-05-02 04:01:21  来源:网络整理

专题:coinitialize

CoInitialize CoInitializeEx 是用来初始化COM运行环境的。OleInitialize是初始化Ole的运行环境,Ole是在Com的基础上作的扩展,是ActiveX运行的基础,OleInitialize肯定会调用CoInitialize。

CoInitialize、CoInitializeEx都是windows的API,主要是告诉windows以什么方式为程序创建COM对象,原因是程序调用com库函数(除CoGetMalloc和内存分配函数)之前必须初始化com库。coinitializeex CoInitialize指明以单线程方式创建。 CoInitializeEx可以指定COINIT_MULTITHREADED以多线程方式创建。 创建单线程方式的COM服务器时不用考虑串行化问题,多线程COM服务器就要考虑。 CoInitialize并不装载com库,这个函数只是用来初始化当前线程使用什么样的套间。当使用这个函数以后,线程就和一个套间建立了对应关系。 线程的套间模式决定了该线程如何调用com对象,是否需要列集等 套间是com中用来解决并发调用冲突的很有效的办法 Before calling any COMfunctions, a thread needs to call CoInitialize to load the COMinfrastructure (and to enter an apartment). Once a thread callsCoInitialize, the thread is free to call COM APIs. CoInitializeEx providesthe same functionality as CoInitialize and also provides aparameter to explicitly specify the thread's concurrency model. Thecurrent implementation of CoInitialize calls CoInitializeEx andspecifies the concurrency model as single-thread apartment.Applications developed today should call CoInitializeEx rather thanCoInitialize. 注:新的应用程序应该调用CoInitializeEx而不是CoInitialize,否则就会有必要在之后每个调用Com的线程中调用CoInitialize来初始化出每个线程自己的套间。

AfxOleInit实际上调用了OleInitialize,虽然它在内部也调用了CoInitializeEx,但它只能处理单线程,这是AfxOleInit和CoInitialize主要区别: OleInitialize calls CoInitializeEx internally to initialize the COM library on the current apartment. Because OLE operations are not thread-safe, OleInitialize specifies the concurrency model as single-thread apartment. Once the concurrency model for an apartment is set, it cannot be changed. A call to OleInitialize on an apartment that was previously initialized as multithreaded will fail and return RPC_E_CHANGED_MODE.应用:1. CoInitialize仅仅初始化Com,支持多线程。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-44683-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 植野堀之
      植野堀之

      真心提醒各位国内的食用油价格低于5元

    • 冯兰芳
      冯兰芳

      #吴亦凡1106生日快乐##吴亦凡##吴亦凡BadGirl#吴亦凡新歌首唱BadGirl

      • 郭小伟
        郭小伟

        发射数量视情况而定

    热点图片
    拼命载入中...