在OCIAQDeq()中使用NULL指针

时间:2011-05-25 16:22:34

标签: c oci oracle-aq

在OCIAQDeq()的the documentation中,它声明:

  

申请可以选择通过   第一次有效载荷为NULL   OCIAQDeq()被调用,并让OCI   为有效负载分配内存。   然后它可以使用指向它的指针   以前分配的内存   随后调用OCIAQDeq()。

有没有人有如何使用此功能的示例?如果我传入NULL,我从哪里获取指针?谢谢!

1 个答案:

答案 0 :(得分:2)

这篇文档引用了函数的payload参数,它是一个双指针:dvoid **根据以下内容

由于它是一个双指针,分配的缓冲区将通过传入的参数传递回调用者。例如

dvoid* pBuffer = NULL;
OCIAQDec(..., &pBuffer, ...);

由于NULL被传递,该函数将分配一个缓冲区并将其存储到pBuffer值中,以后可以重复使用