ACIMemoryAlloc()

ACIMemoryAlloc()

作用:

分配内存空间

语法:

sword ACIMemoryAlloc(void * hndl,
                     ACIError * err,
                     void ** mem,
                     ACIDuration dur,
                     ub4 size,
                     ub4 flags);

参数:

  • hndl

ACIEnv句柄或者ACISession句柄

  • err

ACIError句柄

  • mem

要分配内存的缓冲区

  • dur

取值在下列值中:

OCI_DURATION_CALLOUT

OCI_DURATION_STATEMENT

OCI_DURATION_SESSION

OCI_DURATION_PROCESS

此处该值需要和hndl配合使用,使用规则:

env句柄只能搭配OCI_DURATION_PROCESS使用,其余则失败

session句柄则不能和OCI_DURATION_PROCESS搭配使用,其余则成功

  • size

要分配的内存的大小

此处有一个分配规则:

size为0时:直接失败

size能被8整除时:alloc出来的size大小为:16 + ((n / 8) - 1) * 8

size不能被8整除时:alloc出来的size大小为:16 + (n / 8) * 8

  • flags

当前只能取值:ACI_MEMORY_CLEARED