zoukankan      html  css  js  c++  java
  • CoInitializeEx()

    CoInitializeEx是 Windows提供的API函数,为当前线程初始化COM库并设置并发模式 。应用程序调用com库中的函数(除CoGetMalloc内存分配函数)之前必须初始化com库。

    函数原型

    HRESULT CoInitializeEx(

    void * pvReserved,

    DWORD dwCoInit

    );

    参数介绍:

    pvReserved

    系统 保留的参数,必须传入 NULL.

    dwCoInit

    该标示指明基于当前线程的并发模式和初始化选项。该参数是 COINIT 枚举类型,传入参数时候,除了

    COINIT_APARTMENTTHREADED 和COINIT_MULTITHREADED标记外,其余的标记可以组合使用。

    返回值:

    S_OK :COM库初始化成功。

    S_FALSE :当前线程上,COM库已经被初始化。

    RPC_E_CHANGED_MODE :COM库已经被初始化且传入参数设置的并发模式和本次不同。

    注意事项:

    在应用程序中使用COM库,至少要调用一次CoInitializeEx函数(通常也就调用一次)。如果传入参数的并发标志相同,单个线程也可以多次调用该函数,但后来有效的调用将返回 S_FALSE。在正常关闭COM库情况下,每一个CoInitialize 或者CoInitializeEx的成功的调用(也包含返回S_FALSE的调用),都必须用通Uninitialize函数来结束。

    使用函数 CoInitializeEx的代码的前面需要包含于处理标志 #define _WIN32_DCOM

    基于线程的并发模式一旦设置,将不能再改变。一个线程上调用CoInitializeEx如果与原来调用设置的并发模式不一

    致,将会失败并返回RPC_E_CHANGED_MODE。

  • 相关阅读:
    组合博弈入门
    模拟练1
    鼠标点击 input,显示瞬间的边框颜色,对之修改与隐藏
    display: inline-block兼容性写法
    background-clip与background-origin两者的区别
    article标签和aside标签两者的理解
    jQuery插件实现左右无缝轮播
    JS面向对象基础2
    JS面向对象基础1
    CSS3的基础知识点
  • 原文地址:https://www.cnblogs.com/killer-xc/p/6670665.html
Copyright © 2011-2022 走看看