环境初始化接口
DCIEnvCreate
功能描述
创建并初始化 DCI 函数的工作环境句柄。
功能说明
此调用返回一个环境句柄,由其余 DCI 函数使用。DCI 中可以有多个环境,每个环境都有自己的环境模式。如果任何模式需要,此函数还会执行任何进程级初始化。例如,如果要将mode参数设为DCI_THREADED ,则 DCI 使用的所有库也将在线程模式下初始化。
接口信息
函数/过程
DCIEnvCreate语法如下:
sword DCIEnvCreate(
DCIEnv **envp,
ub4 mode,
void *ctxp,
void *(*malocfp)(void *ctxp, size_t size),
void *(*ralocfp)(void *ctxp, void *memptr, size_t newsize),
void (*mfreefp)(void *ctxp, void *memptr),
size_t xtramem_sz,
void **usrmempp
);
参数解释如下:
envhpp (OUT):用来保存创建完成的DCIEnv句柄。
mode (IN):指定初始化模式类型,
DCI_DEFAULT: 默认模式。
DCI_THREADED: 线程环境模式。在此模式下,不向用户公开的内部数据结构受到保护,防止多个线程并发访问。(暂不支持)
DCI_OBJECT: 使用对象特性。(暂不支持)
DCI_EVENTS: 使用发布者-订阅者通知模式。(暂不支持)
DCI_NO_UCB: 抑制动态回调函数DCIEnvCallback()的调用。默认行为是允许在创建环境时调用。(暂不支持)
DCI_ENV_NO_MUTEX: 在此模式下不会发生互斥(互斥)锁定。在环境句柄或从环境句柄派生的句柄上完成的所有 DCI 调用都必须序列化。(暂不支持)
DCI_SUPPRESS_NLS_VALIDATION: 禁止 NLS 字符验证。(暂不支持)
DCI_NEW_LENGTH_SEMANTICS: 字节长度语义一致地用于所有句柄,而不考虑字符集。(暂不支持)
DCI_NCHAR_LITERAL_REPLACE_ON: 打开 N' 替换。(暂不支持)
DCI_NCHAR_LITERAL_REPLACE_OFF: 关闭 N' 替换。(暂不支持)
DCI_ENABLE_NLS_VALIDATION: 启用 NLS 字符验证。(暂不支持)
ctxp (IN):用户自定义内存回调函数的上下文环境。
malocfp (IN): 用户自定义的内存分配函数。如果mode为DCI_THREADED ,则此内存分配函数必须是线程安全的。(暂不支持)
cxtp(IN/OUT):内存分配功能的上下文指针。
size(IN):分配的内存大小。
ralocfp (IN):用户自定义的内存重新分配函数。如果mode为DCI_THREADED , 则此内存分配函数必须是线程安全的。(暂不支持)
ctxp (IN/OUT):内存重新分配功能的上下文指针。
memptr (IN/OUT):内存重新分配获得的内存块指针。
newsize (IN):重新分配的内存大小。
mfreefp (IN):用户自定义的内存释放函数。如果mode为DCI_THREADED ,则此内存函数必须是线程安全的。(暂不支持)
cxtp(IN/OUT):内存释放功能的上下文指针。
memptr(IN):指向要释放的内存的指针。
xtramemsz (IN):指定在初始化环境期间分配的用户内存量。(暂不支持)。
usrmempp (OUT):返回一个指针,该指针指向xtramemsz大小的用户内存。(暂不支持)。
外部接口
无。
其他说明
无。