문제

In the documentation for OCIAQDeq() it states:

The application may choose to pass NULL for payload the first time OCIAQDeq() is called, and let the OCI allocate the memory for the payload. It can then use a pointer to that previously allocated memory in subsequent calls to OCIAQDeq().

Does anyone have an example of how to use this feature? If I pass in NULL, where do I subsequently get the pointer from? Thanks!

도움이 되었습니까?

해결책

This piece of the documentation refers to the payload parameter of the function which is a double pointer: dvoid ** according to the following

Since it's a double pointer the allocated buffer will be passed back to the caller via the parameter passed in. For example

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

Because NULL is passed the function will allocate a buffer and store it into the pBuffer value which can be later re-used

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top