内存上下文接口
OCIGenerateMemoryContext
功能描述
生成一个内存上下文。
功能说明
生成一个内存上下文。
接口信息
函数/过程
OCIGenerateMemoryContext语法如下:
MemoryContext* OCIGenerateMemoryContext();
其他说明
无
OCIDeleteContext
功能描述
删除内存上下文。
功能说明
删除内存上下文。
数据相关性
无
接口信息
函数/过程
OCIDeleteContext语法如下:
void OCIDeleteContext(MemoryContext* context);
cntext:想要删除的内存上下文。
其他说明
无
OCISetCurrentContext
功能描述
设置当前上下文。
功能说明
设置当前上下文。
接口信息
函数/过程
OCISetCurrentContext语法如下:
void OCISetCurrentContext(MemoryContext* context, MemoryContext* currentContext);
具体参数解释如下:
- cntext:想要设置的内存上下文。
- currentContext:当前内存上下文。
其他说明
无
OCIMallocate
功能描述
在当前上下文申请内存。
功能说明
在当前上下文申请内存。
数据相关性
无
接口信息
函数/过程
OCIMallocate语法如下:
void* OCIMallocate(int size, MemoryContext* currentContext);
参数的解释如下:
- size:要申请的内存大小。
- currentContext:当前内存上下文。
其他说明
无
OCIBefree
功能描述
释放 OCIMallocated 申请的内存。
功能说明
释放 OCIMallocated 申请的内存。
接口信息
函数/过程
OCIBefree语法如下:
void OCIBefree(void* pointer, MemoryContext* currentContext);
具体参数解释如下:
env(IN/OUT):OCI环境句柄在对象模式下初始化。
err(IN/OUT):当发生错误时,可以传递给 OCIErrorGet ()用于诊断信息的错误句柄。
index(IN):扫描起点的索引。
tbl(IN):被扫描的表。
next_index(OUT):tbl(索引)之后的现有元素的下一个索引。
exists(OUT):如果没有下一个索引可用,则返回FALSE;否则为TRUE。
其他说明
无
OCIContextGetValue
功能描述
生成一个内存上下文。
功能说明
生成一个内存上下文。
接口信息
函数/过程
语法如下:
sword OCIContextGetValue ( void *hndl,
OCIError *err,
ub1 *key,
ub2 keylen,
void **ctx value);
具体参数解释如下:
输入
hndl(IN):环境句柄或者用户会话句柄。
err(IN):错误句柄。
key(IN):唯一的键值。
kexlen(IN):密钥的长度。最大值为 255字节或UB1MAXVAL-1。
Ctx_value(IN):指向存储在上下文中的值的指针(如果没有存储值,则为 NULL)。
输出
- sword(OUT):函数是否成功执行。
其他说明
无
OCIContextSetValue
功能描述
保存特定持续时间内的值(或地址)。
功能说明
保存特定持续时间内的值(或地址)。
接口信息
函数/过程
语法如下:
sword OCIContextSetValue ( void *hndl,
OCIError *err,
OCIDuration duration,
ub1 *key,
ub2 keylen,
void **ctx value);
具体参数解释如下:
输入
hndl(IN):OCI环境或者用户会话句柄。
err(IN):错误句柄。
duration(IN):用户创建的可用的持续时间或者以下值:
OCI_DURATION_STATEMENT;
OCI_DURATION_SESSION;
目前只支持 OCI_DURATION_STATEMENT、OCI_DURATION_SESSION的作用范围。
key(IN):唯一的键值。
kexlen(IN):密钥的长度。最大值为 255字节或UB1MAXVAL-1。
Ctx_value(IN):指向存储在上下文中的值的指针(如果没有存储值,则为 NULL)。
输出
- sword(OUT):函数是否成功执行。
- sword(OUT):函数是否成功执行。
其他说明
无
OCIMemoryAlloc
功能描述
从给定的持续时间中分配给定大小的内存。
功能说明
从给定的持续时间中分配给定大小的内存。
接口信息
函数/过程
语法如下:
sword OCIMemoryAlloc ( void *hndl,
OCIError *err,
void **mem,
OCIDuration dur,
ub4 size,
ub4 flags);
具体参数解释如下:
输入
hndl(IN):如果是环境句柄,那 dur参数只能是 OCI_DURATION_PROCESS;否则是用户会话句柄(OCISession *)。
err(IN):错误句柄。
mem(OUT):需要分配内存的指针。
dur(IN):用户创建的可用的持续时间或者以下值:
OCI_DURATION_CALLOUT;
OCI_DURATION_STATEMENT;
OCI_DURATION_SESSION;
OCI_DURATION_PROCESS;
目前该参数并没有参与函数实现,并无实质作用。
size (IN):需要申请的内存大小,由于 od和 oracle在 c语言下的实现有区别,size只能大于等于实际使用的内存大小。
flags(IN):设置OCI_MEMORY_CLEARED位以获取已清除的内存。
输出
- sword(OUT):函数是否成功执行。
- sword(OUT):函数是否成功执行。
其他说明
无
OCIMemoryFree
功能描述
释放已经申请的内存。
功能说明
释放已经申请的内存。
接口信息
函数/过程
语法如下:
sword OCIMemoryFree ( void *hndl,
OCIError *err,
void **mem);
具体参数解释如下:
输入
hndl(IN):环境句柄或者用户会话句柄。
err(IN):错误句柄。
mem(IN/OUT):使用OCIMemoryAlloc()调用申请内存的指针。
输出
- sword(OUT):函数是否成功执行。
- sword(OUT):函数是否成功执行。
其他说明
无