SAPI Errors
This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.
The following error codes are returned by Speech API (SAPI).
Error Code | Error Number | 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 the 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) |
The 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 is returned for both read and write streams. |
SP_AUDIO_PAUSED |
0x00045010 (282640) |
This error is returned only on input (read) streams when the stream is paused. Reads on paused streams do not block, and this return code indicates that all the data has been removed from the stream. |
SPERR_RULE_NOT_FOUND |
0x80045011 (-2147201007) |
An invalid rule name passed to ActivateGrammar. |
SPERR_TTS_ENGINE_EXCEPTION |
0x80045012 (-2147201006) |
An exception was raised during a call to the current text-to-speech (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 the 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 synchronized with the lexicon. |
SPERR_LEX_VERY_OUT_OF_SYNC |
0x8004501b (-2147200997) |
The client is excessively out of sync with the lexicon. Mismatches might 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) |
A circular reference exists in import rules of grammars. |
SPERR_INVALID_IMPORT |
0x80045024 (-2147200988) |
A rule reference to an imported grammar cannot 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 finishes processing, an SPFEI_ASYNC_COMPLETED event is 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: SelectEngine is called while a recognition context exists or SetInput is 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 that, in turn, refers to rule A. |
SP_NO_PARSE_FOUND |
0x0004502c (282668) |
The parse path cannot be parsed given the currently active rules. |
SPERR_NO_PARSE_FOUND |
0x8004502d (-2147200979) |
The 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 is only 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 from which it was obtained. 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; for example, 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 (such as data key or value) was not found. |
SPERR_INVALID_AUDIO_STATE |
0x8004503b (-2147200965) |
The audio state passed to SetState() is invalid. |
SPERR_GENERIC_MMSYS_ERROR |
0x8004503c (-2147200964) |
A generic MMSYS error was 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) |
An attempt was made to manipulate a non-dynamic grammar. |
SPERR_AMBIGUOUS_PROPERTY |
0x8004503f (-2147200961) |
Cannot add an ambiguous property. |
SPERR_INVALID_REGISTRY_KEY |
0x80045040 (-2147200960) |
The specified key is invalid. |
SPERR_INVALID_TOKEN_ID |
0x80045041 (-2147200959) |
The specified token 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 (for example, a voice or phone converter). |
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 an 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) |
An incorrect word format, probably due to an incorrect pronunciation string. |
SPERR_STREAM_NOT_ACTIVE |
0x8004504a (-2147200950) |
Methods associated with an active audio stream cannot be called unless the 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 the engine is inconsistent. |
SP_RECOGNIZER_INACTIVE |
0x0004504e (282702) |
An operation could not be completed because the recognizer is inactive. It is inactive either because the recognition state is currently inactive or 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 was made to load a .cfg grammar with a LANGID different than other loaded grammars. |
SPERR_NOT_TOPLEVEL_RULE |
0x80045054 (-2147200940) |
An attempt was made to deactivate or activate a non-top-level rule. |
SP_NO_RULE_ACTIVE |
0x00045055 (282709) |
An attempt was made to parse when no rule was active. |
SPERR_LEX_REQUIRES_COOKIE |
0x80045056 (-2147200938) |
An attempt was made to ask a container lexicon for all words at once. |
SP_STREAM_UNINITIALIZED |
0x00045057 (282711) |
An attempt was made to activate a rule, dictation, and so on 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) |
Only 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 might need to supply an explicit pronunciation for this word. |
SPERR_ALTERNATES_WOULD_BE_INCONSISTENT |
0x8004505e (-2147200930) |
An attempt was made to call ScaleAudio on a recognition result having previously called GetAlternates. Allowing the call to succeed results 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 has 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 with 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 call ISpeechRecoGrammar::Reset() causes the rule object to be invalidated. Calling any methods after this generates this error. |
SP_AUDIO_STOPPED |
0x00045065 (282725) |
This can be returned when Read or Write attempts are made to call audio streams when the stream is stopped. |
SPERR_RECOXML_GENERATION_FAIL |
0x80045066 (-2147200922) |
The Recognition Parse Tree cannot be generated. For example, the rule name might begin with a numeric digit. The XML parser does not allow this. |
SPERR_SML_GENERATION_FAIL |
0x80045067 (-2147200921) |
The SML could not be generated. For example, the transformation XSLT template might not be well-formed. |
SPERR_NOT_PROMPT_VOICE |
0x80045068 (-2147200920) |
The current voice is not a prompt voice, so the ISpPromptVoice functions do not work. |
SPERR_ROOTRULE_ALREADY_DEFINED |
0x80045069 (-2147200919) |
There is already a root rule for this grammar. Defining another root rule fails. |
SPERR_SCRIPT_DISALLOWED |
0x80045070 (-2147200912) |
Support for an embedded script is not supported because browser security settings have disabled it. |
SPERR_REMOTE_CALL_TIMED_OUT_START |
0x80045071 (-2147200911) |
A time-out occurred while starting the SAPI server. |
SPERR_REMOTE_CALL_TIMED_OUT_CONNECT |
0x80045072 (-2147200910) |
A time-out occurred obtaining the lock for starting or connecting to the SAPI server. |
SPERR_SECMGR_CHANGE_NOT_ALLOWED |
0x80045073 (-2147200909) |
When a .cfg grammar is loaded, the security manager cannot be changed. |
SP_COMPLETE_BUT_EXTENDABLE |
0x00045074 (282740) |
The parse is valid but could be extendable (internal use only). |