Releases a recognizer instance and de-allocates recognizer engine resources.
DWORD saiReleaseRecognizer ( SAI_RECOGNIZER_HANDLE recogHd )
|
Argument |
Description |
|
recogHd |
Handle associated with a recognizer resource. |
|
Return value |
Description |
|
SUCCESS |
|
|
SAIERR_ENGINE_NOT_READY |
Specified recognizer engine is not ready to handle requests. |
|
SAIERR_INVALID_PARAMETER |
recogHd is invalid. |
saiReleaseRecognizer de-allocates recognizer resources associated with a specified speech server. If saiReleaseRecognizer executes successfully, the recognizer enters a deletion state and the SAI service deletes the recognizer object after the server responds. Until the server responds, the SAI service returns an SAIERR_ENGINE_NOT_READY error in response to any requests associated with the associated recogHd.
If recogHd is not associated with a recognizer, the handle is not freed and the application receives SAIERR_INVALID_PARAMETER.
For more information, refer to Creating recognizer resources.
// Destruction of ASR engine object using SAI function. Its handle is equal to 0.
// The application does not need to wait on the event queue to receive a specific event
// because SAI service releases all recognition engine trace.
//
DWORD demoAsrRelease( SAI_RECOGNIZER_HANDLE *recogHd, DWORD *serverPortAsr)
{
DWORD rc = SUCCESS;
rc = saiReleaseRecognizer(*asrHd );
if ( rc == SUCCESS )
{
printf("Releasing ASR succeed.\n");
*serverPortAsr = 0;
*asrHd = 0;
}
else
{
printf("Failure on releasing ASR, error code = 0x%08x.\n", rc);
}
return rc;
}