Share via


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).

See Also

Concepts

SpeechControls Introduction