ACIArrayDescriptorAlloc()¶
-
ACIArrayDescriptorAlloc()¶
作用:
分配一个大字段、时间日期或时间间隔描述符数组。在通过调用 ACIDefineByPos 函数绑定到此描述符以后,就可以通过该句柄进行读或写操作。
语法:
sword ACIArrayDescriptorAlloc ( const void *parenth,
void **descpp,
const ub4 type,
ub4 array_size,
const size_t xtramem_sz,
void **usrmempp);
参数:
- parenth (IN)
环境句柄。
- descpp (OUT)
返回一个描述符或者一个loblocator句柄数组
- type (IN)
指定需要释放的句柄类型,描述符类型请参与《句柄管理》章节。
- array_size (IN)
指定数组大小。
- xtramem_sz (IN)
ACI未使用。
- usrmempp (OUT)
ACI未使用。
说明:
如果成功,则此调用返回ACI_SUCCESS;如果发生内存不足的情况,则返回适当的错误。
示例:
如果用普通方式分配一个数组描述符,需要做一个循环:
ACIDateTime *descpp1[100];
for (i = 0; i!=100; i++){
/* 分配描述符 */
ACIDescriptorAlloc((void *)envhp,(void **)&descpp1[i], ACI_DTYPE_TIMESTAMP_TZ,0,(void **)0);
}
通过数组接口分配,一句话就可以了:
ACIDateTime *descpp1[100];
ACIArrayDescriptorAlloc((void *)envhp,(void **)&descpp1,
ACI_DTYPE_TIMESTAMP_TZ, 100, 0, (void **)0);
//释放
ACIArrayDescriptorFree((dvoid **) descpp1, ACI_DTYPE_TIMESTAMP);