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。

  • 相关阅读:
    Python os.fchdir() 方法
    Python os.dup2() 方法
    JavaScript——三
    JavaScript——二
    JavaScript函数console、this关键字
    JavaScript——DOMM
    JavaScript——浏览器检查
    JavaScript——匿名函数和闭包
    JavaScript——原型
    JavaScript——面向对象与原型
  • 原文地址:https://www.cnblogs.com/killer-xc/p/6670665.html
Copyright © 2011-2022 走看看