Releases a buffer after the application has completed processing the message.
DWORD imgtReleaseBuffer ( CTAHD ctahd, void *buffer )
|
Argument |
Description |
|
ctahd |
Context handle returned by ctaCreateContext. |
|
buffer |
Pointer to buffer to be released. |
|
Return value |
Description |
|
SUCCESS |
|
|
CTAERR_INVALID_HANDLE |
The specified context handle is invalid. |
|
IMGTERR_INVALID_BUFFER |
buffer does not point to a valid buffer. |
None.
This function sends an indication to the IMGT manager that the application has finished processing an event buffer (described by the CTA_EVENT buffer and size fields) and is returning that buffer to the IMGT service.
The application must return every event buffer to the IMGT service as soon as possible or the IMGT service can run out of buffers and stop passing events to the application.
void MyEventHandler( CTAHD ctahd )
{
DWORD ret;
CTA_EVENT event;
char *errortext="";
while( 1 )
{
ret = ctaWaitEvent( ctahd, &event, 100 );
switch( event.id )
{
case CTAEVN_WAIT_TIMEOUT:
break;
case IMGTEVN_RCV_MESSAGE:
/* process the buffer */
...
ret = imgtReleaseBuffer( ctahd, event.buffer );
if (ret != SUCCESS)
{
ctaGetText( ctahd, ret, (char *) errortext, 40);
printf( "imgtReleaseBuffer failure: %s\n",errortext );
exit( 1 );
}
break;
} /* end of switch */
}/* end of while */
}