SAPI Error Codes

Microsoft Speech SDK

Intelligent Interface Technologies Home Page Microsoft Speech SDK Speech Automation 5.1

Error Codes

The following table lists error codes returned by SAPI.

Error Name Hexadecimal Decimal
Description
SPERR_UNINITIALIZED 0x80045001 -2147201023
The object has not been properly initialized.
SPERR_ALREADY_INITIALIZED 0x80045002 -2147201022
The object has already been initialized.
SPERR_UNSUPPORTED_FORMAT 0x80045003 -2147201021
The caller has specified an unsupported format.
SPERR_INVALID_FLAGS 0x80045004 -2147201020
The caller has specified invalid flags for this operation.
SP_END_OF_STREAM 0x00045005 282629
The operation has reached the end of stream.
SPERR_DEVICE_BUSY 0x80045006 -2147201018
The wave device is busy.
SPERR_DEVICE_NOT_SUPPORTED 0x80045007 -2147201017
The wave device is not supported.
SPERR_DEVICE_NOT_ENABLED 0x80045008 -2147201016
The wave device is not enabled.
SPERR_NO_DRIVER 0x80045009 -2147201015
There is no wave driver installed.
SPERR_FILEMUSTBEUNICODE 0x8004500a -2147201014
The file must be Unicode.
SP_INSUFFICIENTDATA 0x0004500b 282635
SPERR_INVALID_PHRASE_ID 0x8004500c -2147201012
The phrase ID specified does not exist or is out of range.
SPERR_BUFFER_TOO_SMALL 0x8004500d -2147201011
The caller provided a buffer too small to return a result.
SPERR_FORMAT_NOT_SPECIFIED 0x8004500e -2147201010
Caller did not specify a format prior to opening a stream.
SPERR_AUDIO_STOPPED 0x8004500f -2147201009
The stream I/O was stopped by setting the audio object to the stopped state. This will be returned for both read and write streams.
SP_AUDIO_PAUSED 0x00045010 282640
This will be returned only on input (read) streams when the stream is paused. Reads on paused streams will not block, and this return code indicates that all of the data has been removed from the stream.
SPERR_RULE_NOT_FOUND 0x80045011 -2147201007
Invalid rule name passed to ActivateGrammar.
SPERR_TTS_ENGINE_EXCEPTION 0x80045012 -2147201006
An exception was raised during a call to the current TTS driver.
SPERR_TTS_NLP_EXCEPTION 0x80045013 -2147201005
An exception was raised during a call to an application sentence filter.
SPERR_ENGINE_BUSY 0x80045014 -2147201004
In speech recognition, the current method cannot be performed while a grammar rule is active.
SP_AUDIO_CONVERSION_ENABLED 0x00045015 282645
The operation was successful, but only with automatic stream format conversion.
SP_NO_HYPOTHESIS_AVAILABLE 0x00045016 282646
There is currently no hypothesis recognition available.
SPERR_CANT_CREATE 0x80045017 -2147201001
Cannot create a new object instance for the specified object category.
SP_ALREADY_IN_LEX 0x00045018 282648
The word, pronunciation, or POS pair being added is already in lexicon.
SPERR_NOT_IN_LEX 0x80045019 -2147200999
The word does not exist in the lexicon.
SP_LEX_NOTHING_TO_SYNC 0x0004501a 282650
The client is currently synced with the lexicon.
SPERR_LEX_VERY_OUT_OF_SYNC 0x8004501b -2147200997
The client is excessively out of sync with the lexicon. Mismatches may not sync incrementally.
SPERR_UNDEFINED_FORWARD_RULE_REF 0x8004501c -2147200996
A rule reference in a grammar was made to a named rule that was never defined.
SPERR_EMPTY_RULE 0x8004501d -2147200995
A non-dynamic grammar rule that has no body.
SPERR_GRAMMAR_COMPILER_INTERNAL_ERROR 0x8004501e -2147200994
The grammar compiler failed due to an internal state error.
SPERR_RULE_NOT_DYNAMIC 0x8004501f -2147200993
An attempt was made to modify a non-dynamic rule.
SPERR_DUPLICATE_RULE_NAME 0x80045020 -2147200992
A rule name was duplicated.
SPERR_DUPLICATE_RESOURCE_NAME 0x80045021 -2147200991
A resource name was duplicated for a given rule.
SPERR_TOO_MANY_GRAMMARS 0x80045022 -2147200990
Too many grammars have been loaded.
SPERR_CIRCULAR_REFERENCE 0x80045023 -2147200989
Circular reference in import rules of grammars.
SPERR_INVALID_IMPORT 0x80045024 -2147200988
A rule reference to an imported grammar that could not be resolved.
SPERR_INVALID_WAV_FILE 0x80045025 -2147200987
The format of the WAV file is not supported.
SP_REQUEST_PENDING 0x00045026 282662
This success code indicates that an SR method called with the SPRIF_ASYNC flag is being processed. When it has finished processing, an SPFEI_ASYNC_COMPLETED event will be generated.
SPERR_ALL_WORDS_OPTIONAL 0x80045027 -2147200985
A grammar rule was defined with a null path through the rule. That is, it is possible to satisfy the rule conditions with no words.
SPERR_INSTANCE_CHANGE_INVALID 0x80045028 -2147200984
It is not possible to change the current engine or input. This occurs in the following cases: 1) SelectEngine called while a recognition context exists, or 2) SetInput called in the shared instance case.
SPERR_RULE_NAME_ID_CONFLICT 0x80045029 -2147200983
A rule exists with matching IDs (names) but different names (IDs).
SPERR_NO_RULES 0x8004502a -2147200982
A grammar contains no top-level, dynamic, or exported rules. There is no possible way to activate or otherwise use any rule in this grammar.
SPERR_CIRCULAR_RULE_REF 0x8004502b -2147200981
Rule 'A' refers to a second rule 'B' which, in turn, refers to rule 'A'.
SP_NO_PARSE_FOUND 0x0004502c 282668
Parse path cannot be parsed given the currently active rules.
SPERR_NO_PARSE_FOUND 0x8004502d -2147200979
Parse path cannot be parsed given the currently active rules.
SPERR_REMOTE_CALL_TIMED_OUT 0x8004502e -2147200978
A marshaled remote call failed to respond.
SPERR_AUDIO_BUFFER_OVERFLOW 0x8004502f -2147200977
This will only be returned on input (read) streams when the stream is paused because the SR driver has not retrieved data recently.
SPERR_NO_AUDIO_DATA 0x80045030 -2147200976
The result does not contain any audio, nor does the portion of the element chain of the result contain any audio.
SPERR_DEAD_ALTERNATE 0x80045031 -2147200975
This alternate is no longer a valid alternate to the result it was obtained from. Returned from ISpPhraseAlt methods.
SPERR_HIGH_LOW_CONFIDENCE 0x80045032 -2147200974
The result does not contain any audio, nor does the portion of the element chain of the result contain any audio. Returned from ISpResult::GetAudio and ISpResult::SpeakAudio.
SPERR_INVALID_FORMAT_STRING 0x80045033 -2147200973
The XML format string for this RULEREF is invalid, e.g. not a GUID or REFCLSID.
SP_UNSUPPORTED_ON_STREAM_INPUT 0x00045034 282676
The operation is not supported for stream input.
SPERR_APPLEX_READ_ONLY 0x80045035 -2147200971
The operation is invalid for all but newly created application lexicons.
SPERR_NO_TERMINATING_RULE_PATH 0x80045036 -2147200970
SP_WORD_EXISTS_WITHOUT_PRONUNCIATION 0x00045037 282679
The word exists but without pronunciation.
SPERR_STREAM_CLOSED 0x80045038 -2147200968
An operation was attempted on a stream object that has been closed.
SPERR_NO_MORE_ITEMS 0x80045039 -2147200967
When enumerating items, the requested index is greater than the count of items.
SPERR_NOT_FOUND 0x8004503a -2147200966
The requested data item (data key, value, etc.) was not found.
SPERR_INVALID_AUDIO_STATE 0x8004503b -2147200965
Audio state passed to SetState() is invalid.
SPERR_GENERIC_MMSYS_ERROR 0x8004503c -2147200964
A generic MMSYS error not caught by _MMRESULT_TO_HRESULT.
SPERR_MARSHALER_EXCEPTION 0x8004503d -2147200963
An exception was raised during a call to the marshaling code.
SPERR_NOT_DYNAMIC_GRAMMAR 0x8004503e -2147200962
Attempt was made to manipulate a non-dynamic grammar.
SPERR_AMBIGUOUS_PROPERTY 0x8004503f -2147200961
Cannot add ambiguous property.
SPERR_INVALID_REGISTRY_KEY 0x80045040 -2147200960
The key specified is invalid.
SPERR_INVALID_TOKEN_ID 0x80045041 -2147200959
The token specified is invalid.
SPERR_XML_BAD_SYNTAX 0x80045042 -2147200958
The xml parser failed due to bad syntax.
SPERR_XML_RESOURCE_NOT_FOUND 0x80045043 -2147200957
The xml parser failed to load a required resource (e.g., voice, phoneconverter, etc.).
SPERR_TOKEN_IN_USE 0x80045044 -2147200956
Attempted to remove registry data from a token that is already in use elsewhere.
SPERR_TOKEN_DELETED 0x80045045 -2147200955
Attempted to perform an action on an object token that has had associated registry key deleted.
SPERR_MULTI_LINGUAL_NOT_SUPPORTED 0x80045046 -2147200954
The selected voice was registered as multi-lingual. SAPI does not support multi-lingual registration.
SPERR_EXPORT_DYNAMIC_RULE 0x80045047 -2147200953
Exported rules cannot refer directly or indirectly to a dynamic rule.
SPERR_STGF_ERROR 0x80045048 -2147200952
Error parsing the SAPI Text Grammar Format (XML grammar).
SPERR_WORDFORMAT_ERROR 0x80045049 -2147200951
Incorrect word format, probably due to incorrect pronunciation string.
SPERR_STREAM_NOT_ACTIVE 0x8004504a -2147200950
Methods associated with active audio stream cannot be called unless stream is active.
SPERR_ENGINE_RESPONSE_INVALID 0x8004504b -2147200949
Arguments or data supplied by the engine are in an invalid format or are inconsistent.
SPERR_SR_ENGINE_EXCEPTION 0x8004504c -2147200948
An exception was raised during a call to the current SR engine.
SPERR_STREAM_POS_INVALID 0x8004504d -2147200947
Stream position information supplied from engine is inconsistent.
SP_RECOGNIZER_INACTIVE 0x0004504e 282702
Operation could not be completed because the recognizer is inactive. It is inactive either because the recognition state is currently inactive or because no rules are active.
SPERR_REMOTE_CALL_ON_WRONG_THREAD 0x8004504f -2147200945
When making a remote call to the server, the call was made on the wrong thread.
SPERR_REMOTE_PROCESS_TERMINATED 0x80045050 -2147200944
The remote process terminated unexpectedly.
SPERR_REMOTE_PROCESS_ALREADY_RUNNING 0x80045051 -2147200943
The remote process is already running; it cannot be started a second time.
SPERR_LANGID_MISMATCH 0x80045052 -2147200942
An attempt to load a CFG grammar with a LANGID different than other loaded grammars.
SP_PARTIAL_PARSE_FOUND 0x00045053 282707
A grammar-ending parse has been found that does not use all available words.
SPERR_NOT_TOPLEVEL_RULE 0x80045054 -2147200940
An attempt to deactivate or activate a non top-level rule.
SP_NO_RULE_ACTIVE 0x00045055 282709
An attempt to parse when no rule was active.
SPERR_LEX_REQUIRES_COOKIE 0x80045056 -2147200938
An attempt to ask a container lexicon for all words at once.
SP_STREAM_UNINITIALIZED 0x00045057 282711
An attempt to activate a rule/dictation/etc without calling SetInput first in the InProc case.
SPERR_UNSUPPORTED_LANG 0x80045059 -2147200935
The requested language is not supported.
SPERR_VOICE_PAUSED 0x8004505a -2147200934
The operation cannot be performed because the voice is currently paused.
SPERR_AUDIO_BUFFER_UNDERFLOW 0x8004505b -2147200933
This will only be returned on input (read) streams when the real time audio device stops returning data for a long period of time.
SPERR_AUDIO_STOPPED_UNEXPECTEDLY 0x8004505c -2147200932
An audio device stopped returning data from the Read() method even though it was in the run state. This error is only returned in the END_SR_STREAM event.
SPERR_NO_WORD_PRONUNCIATION 0x8004505d -2147200931
The SR engine is unable to add this word to a grammar. The application may need to supply an explicit pronunciation for this word.
SPERR_ALTERNATES_WOULD_BE_INCONSISTENT 0x8004505e -2147200930
An attempt to call ScaleAudio on a recognition result having previously called GetAlternates. Allowing the call to succeed would result in the previously created alternates located in incorrect audio stream positions.
SPERR_NOT_SUPPORTED_FOR_SHARED_RECOGNIZER 0x8004505f -2147200929
The method called is not supported for the shared recognizer For example, ISpRecognizer::GetInputStream().
SPERR_TIMEOUT 0x80045060 -2147200928
A task could not complete because the SR engine had timed out.
SPERR_REENTER_SYNCHRONIZE 0x80045061 -2147200927
An SR engine called synchronize while inside of a synchronize call.
SPERR_STATE_WITH_NO_ARCS 0x80045062 -2147200926
The grammar contains a node no arcs.
SPERR_NOT_ACTIVE_SESSION 0x80045063 -2147200925
Neither audio output nor input is supported for non-active console sessions.
SPERR_ALREADY_DELETED 0x80045064 -2147200924
The object is a stale reference and is invalid to use. For example, having an ISpeechGrammarRule object reference and then calling ISpeechRecoGrammar::Reset() will cause the rule object to be invalidated. Calling any methods after this will result in this error.