Microsoft Speech Platform
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.
|
SP_AUDIO_STOPPED |
0x00045065 |
282725 |
This can be returned from Read or Write calls for audio streams when the stream is stopped.
|
SPERR_RECOXML_GENERATION_FAIL |
0x80045066 |
-2147200922 |
The Recognition Parse Tree could not be generated. For example, a rule name begins with a digit but the XML parser does not allow an element name beginning with a digit.
|
SPERR_SML_GENERATION_FAIL |
0x80045067 |
-2147200921 |
The SML could not be generated. For example, the transformation xslt template is not well formed.
|
SPERR_NOT_PROMPT_VOICE |
0x80045068 |
-2147200920 |
The SML could not be generated. For example, the transformation xslt template is not well formed.
|
SPERR_ROOTRULE_ALREADY_DEFINED |
0x80045069 |
-2147200919 |
There is already a root rule for this grammar. Defining another root rule will fail.
|
SPERR_SCRIPT_DISALLOWED |
0x80045070 |
-2147200912 |
Support for embedded script not supported because browser security settings have disabled it.
|
SPERR_REMOTE_CALL_TIMED_OUT_START |
0x80045071 |
-2147200911 |
A time out occurred starting the sapi server.
|
SPERR_REMOTE_CALL_TIMED_OUT_CONNECT |
0x80045072 |
-2147200910 |
A timeout occurred obtaining the lock for starting or connecting to sapi server.
|
SPERR_SECMGR_CHANGE_NOT_ALLOWED |
0x80045073 |
-2147200909 |
When there is a cfg grammar loaded, changing the security manager is not permitted.
|
SP_COMPLETE_BUT_EXTENDABLE |
0x00045074 |
282740 |
Parse is valid but could be extendable (internal use only).
|
SPERR_FAILED_TO_DELETE_FILE |
0x80045075 |
-2147200907 |
Tried and failed to delete an existing file.
|
SPERR_SHARED_ENGINE_DISABLED |
0x80045076 |
-2147200906 |
The user has chosen to disable speech from running on the machine, or the system is not set up to run speech (for example, initial setup and tutorial has not been run).
|
SPERR_RECOGNIZER_NOT_FOUND |
0x80045077 |
-2147200905 |
No recognizer is installed.
|
SPERR_AUDIO_NOT_FOUND |
0x80045078 |
-2147200904 |
No audio device is installed.
|
SPERR_NO_VOWEL |
0x80045079 |
-2147200903 |
No vowel in a word.
|
SPERR_UNSUPPORTED_PHONEME |
0x8004507A |
-2147200902 |
No vowel in a word.
|
SP_NO_RULES_TO_ACTIVATE |
0x0004507B |
282747 |
The grammar does not have any root or top-level active rules to activate.
|
SP_NO_WORDENTRY_NOTIFICATION |
0x0004507C |
282748 |
The engine does not need SAPI word entry handles for this grammar.
|
SPERR_WORD_NEEDS_NORMALIZATION |
0x8004507D |
-2147200899 |
The word passed to the GetPronunciations interface needs normalizing first.
|
SPERR_CANNOT_NORMALIZE |
0x8004507E |
-2147200898 |
The word passed to the normalize interface cannot be normalized.
|
S_NOTSUPPORTED |
0x80045080 |
-2147200896 |
This combination of function call and input is currently not supported.
|