ACIEnvCreate()

ACIEnvCreate()

作用:

分配并初始化ACI环境句柄

语法:

sword ACIEnvCreate(ACIEnv **envhpp,
                   ub4 mode,
                   const void *ctxp,
                   const void *(*malocfp)(void *ctxp, size_t size),
                   const void *(*ralocfp)(void *ctxp, void *memptr, size_t newsize),
                   const void(*mfreefp)(void *ctxp, void *memptr)),
                   size_t xtramemsz,
                   void **usrmempp);

参数:

  • envhpp (out)

指向环境句柄的指针。

  • mode (in)

初始化模式,取值如下:

ACI_DEFAULT:缺省模式

ACI_THREADED:多线程模式。在这种模式下,不暴露给用户的内部数据结构在多线程访问中被保护。

ACI_UTF16:设置客户端字符集为utf16宽字符集

  • 其他 -- 其他参数目前不使用,仅与Oracle OCI兼容

说明:

此调用应该在任何其他ACI调用之前调用,并且应该使用它来代替 ACIInitialize 调用.

此调用返回一个环境句柄,然后由其余的ACI函数使用。 ACI中可以有多个环境,每个环境都有自己的环境模式。 如果任何模式需要,此功能还可以执行任何进程级别的初始化。 例如,如果要将环境初始化为ACI_THREADED,则ACI使用的所有库也将在线程模式下初始化。