Destroys all contexts created on the event queue, closes services, and destroys the queue.
DWORD ctaDestroyQueue ( CTAQUEUEHD ctaqueuehd)
Argument |
Description |
ctaqueuehd |
Handle returned by ctaCreateQueue. |
Return value |
Description |
SUCCESS |
|
CTAERR_INVALID_CTAQUEUEHD |
Already destroying the queue. |
CTAERR_NOT_INITIALIZED |
Natural Access is not initialized. Call ctaInitialize first. |
ctaDestroyQueue destroys all contexts created on the event queue, closes all services, and destroys the queue. Since this is a synchronous function, the application remains blocked until all cleanup and close activity is completed.
If any errors are returned other than those listed in the Return values section, ctaDestoyQueue had problems destroying the queue. Resources may be left in an unknown state.
Refer to Closing services for more information.
/* Shutdown the state machine demo. */
void DemoShutdown(CTAQUEUEHD ctaqueuehd)
{
unsigned i;
/* Destroying the queue will destroy all contexts created on the queue. */
ctaDestroyQueue( ctaqueuehd );
/* Free all the contexts. */
for (i=0; i < 100; i++)
{
if (Cxarray[i] != NULL)
free ( Cxarray[i] );
}
}