<?xml version="1.0" encoding="UTF-8"?>
<errors description="SAPI Error Codes">
	<language name="International">
		<error code="80045001" name="SPERR_UNINITIALIZED">The object has not been properly initialized.</error>
		<error code="80045002" name="SPERR_ALREADY_INITIALIZED">The object has already been initialized.</error>
		<error code="80045003" name="SPERR_UNSUPPORTED_FORMAT">The caller has specified an unsupported format.</error>
		<error code="80045004" name="SPERR_INVALID_FLAGS">The caller has specified invalid flags for this operation.</error>
		<error code="00045005" name="SP_END_OF_STREAM">The operation has reached the end of stream.</error>
		<error code="80045006" name="SPERR_DEVICE_BUSY">The wave device is busy.</error>
		<error code="80045007" name="SPERR_DEVICE_NOT_SUPPORTED">The wave device is not supported.</error>
		<error code="80045008" name="SPERR_DEVICE_NOT_ENABLED">The wave device is not enabled.</error>
		<error code="80045009" name="SPERR_NO_DRIVER">There is no wave driver installed.</error>
		<error code="8004500a" name="SPERR_FILEMUSTBEUNICODE">The file must be Unicode.</error>
		<error code="0004500b" name="SP_INSUFFICIENTDATA">Insufficient data.</error>
		<error code="8004500c" name="SPERR_INVALID_PHRASE_ID">The phrase ID specified does not exist or is out of range.</error>
		<error code="8004500d" name="SPERR_BUFFER_TOO_SMALL">The caller provided a buffer too small to return a result.</error>
		<error code="8004500e" name="SPERR_FORMAT_NOT_SPECIFIED">Caller did not specify a format prior to opening a stream.</error>
		<error code="8004500f" name="SPERR_AUDIO_STOPPED">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.</error>
		<error code="00045010" name="SP_AUDIO_PAUSED">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.</error>
		<error code="80045011" name="SPERR_RULE_NOT_FOUND">Invalid rule name passed to ActivateGrammar.</error>
		<error code="80045012" name="SPERR_TTS_ENGINE_EXCEPTION">An exception was raised during a call to the current TTS driver.</error>
		<error code="80045013" name="SPERR_TTS_NLP_EXCEPTION">An exception was raised during a call to an application sentence filter.</error>
		<error code="80045014" name="SPERR_ENGINE_BUSY">In speech recognition, the current method cannot be performed while a grammar rule is active.</error>
		<error code="00045015" name="SP_AUDIO_CONVERSION_ENABLED">The operation was successful, but only with automatic stream format conversion.</error>
		<error code="00045016" name="SP_NO_HYPOTHESIS_AVAILABLE">There is currently no hypothesis recognition available.</error>
		<error code="80045017" name="SPERR_CANT_CREATE">Cannot create a new object instance for the specified object category.</error>
		<error code="00045018" name="SP_ALREADY_IN_LEX">The word, pronunciation, or POS pair being added is already in lexicon.</error>
		<error code="80045019" name="SPERR_NOT_IN_LEX">The word does not exist in the lexicon.</error>
		<error code="0004501a" name="SP_LEX_NOTHING_TO_SYNC">The client is currently synced with the lexicon.</error>
		<error code="8004501b" name="SPERR_LEX_VERY_OUT_OF_SYNC">The client is excessively out of sync with the lexicon. Mismatches may not sync incrementally.</error>
		<error code="8004501c" name="SPERR_UNDEFINED_FORWARD_RULE_REF">A rule reference in a grammar was made to a named rule that was never defined.</error>
		<error code="8004501d" name="SPERR_EMPTY_RULE">A non-dynamic grammar rule that has no body.</error>
		<error code="8004501e" name="SPERR_GRAMMAR_COMPILER_INTERNAL_ERROR">The grammar compiler failed due to an internal state error.</error>
		<error code="8004501f" name="SPERR_RULE_NOT_DYNAMIC">An attempt was made to modify a non-dynamic rule.</error>
		<error code="80045020" name="SPERR_DUPLICATE_RULE_NAME">A rule name was duplicated.</error>
		<error code="80045021" name="SPERR_DUPLICATE_RESOURCE_NAME">A resource name was duplicated for a given rule.</error>
		<error code="80045022" name="SPERR_TOO_MANY_GRAMMARS">Too many grammars have been loaded.</error>
		<error code="80045023" name="SPERR_CIRCULAR_REFERENCE">Circular reference in import rules of grammars.</error>
		<error code="80045024" name="SPERR_INVALID_IMPORT">A rule reference to an imported grammar that could not be resolved.</error>
		<error code="80045025" name="SPERR_INVALID_WAV_FILE">The format of the WAV file is not supported.</error>
		<error code="00045026" name="SP_REQUEST_PENDING">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.</error>
		<error code="80045027" name="SPERR_ALL_WORDS_OPTIONAL">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.</error>
		<error code="80045028" name="SPERR_INSTANCE_CHANGE_INVALID">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.</error>
		<error code="80045029" name="SPERR_RULE_NAME_ID_CONFLICT">A rule exists with matching IDs (names) but different names (IDs).</error>
		<error code="8004502a" name="SPERR_NO_RULES">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.</error>
		<error code="8004502b" name="SPERR_CIRCULAR_RULE_REF">Rule 'A' refers to a second rule 'B' which, in turn, refers to rule 'A'.</error>
		<error code="0004502c" name="SP_NO_PARSE_FOUND">Parse path cannot be parsed given the currently active rules.</error>
		<error code="8004502d" name="SPERR_NO_PARSE_FOUND">Parse path cannot be parsed given the currently active rules.</error>
		<error code="8004502e" name="SPERR_REMOTE_CALL_TIMED_OUT">A marshaled remote call failed to respond.</error>
		<error code="8004502f" name="SPERR_AUDIO_BUFFER_OVERFLOW">This will only be returned on input (read) streams when the stream is paused because the SR driver has not retrieved data recently.</error>
		<error code="80045030" name="SPERR_NO_AUDIO_DATA">The result does not contain any audio, nor does the portion of the element chain of the result contain any audio.</error>
		<error code="80045031" name="SPERR_DEAD_ALTERNATE">This alternate is no longer a valid alternate to the result it was obtained from. Returned from ISpPhraseAlt methods.</error>
		<error code="80045032" name="SPERR_HIGH_LOW_CONFIDENCE">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.</error>
		<error code="80045033" name="SPERR_INVALID_FORMAT_STRING">The XML format string for this RULEREF is invalid, e.g. not a GUID or REFCLSID.</error>
		<error code="00045034" name="SP_UNSUPPORTED_ON_STREAM_INPUT">The operation is not supported for stream input.</error>
		<error code="80045035" name="SPERR_APPLEX_READ_ONLY">The operation is invalid for all but newly created application lexicons.</error>
		<error code="80045036" name="SPERR_NO_TERMINATING_RULE_PATH">At least one rule is not empty but has no terminating path (path of transitions from the initial state to a NULL state).</error>
		<error code="00045037" name="SP_WORD_EXISTS_WITHOUT_PRONUNCIATION">The word exists but without pronunciation.</error>
		<error code="80045038" name="SPERR_STREAM_CLOSED">An operation was attempted on a stream object that has been closed.</error>
		<error code="80045039" name="SPERR_NO_MORE_ITEMS">When enumerating items, the requested index is greater than the count of items.</error>
		<error code="8004503a" name="SPERR_NOT_FOUND">The requested data item (data key, value, etc.) was not found.</error>
		<error code="8004503b" name="SPERR_INVALID_AUDIO_STATE">Audio state passed to SetState() is invalid.</error>
		<error code="8004503c" name="SPERR_GENERIC_MMSYS_ERROR">A generic MMSYS error not caught by _MMRESULT_TO_HRESULT.</error>
		<error code="8004503d" name="SPERR_MARSHALER_EXCEPTION">An exception was raised during a call to the marshaling code.</error>
		<error code="8004503e" name="SPERR_NOT_DYNAMIC_GRAMMAR">Attempt was made to manipulate a non-dynamic grammar.</error>
		<error code="8004503f" name="SPERR_AMBIGUOUS_PROPERTY">Cannot add ambiguous property.</error>
		<error code="80045040" name="SPERR_INVALID_REGISTRY_KEY">The key specified is invalid.</error>
		<error code="80045041" name="SPERR_INVALID_TOKEN_ID">The token specified is invalid.</error>
		<error code="80045042" name="SPERR_XML_BAD_SYNTAX">The xml parser failed due to bad syntax.</error>
		<error code="80045043" name="SPERR_XML_RESOURCE_NOT_FOUND">The xml parser failed to load a required resource (e.g., voice, phoneconverter, etc.).</error>
		<error code="80045044" name="SPERR_TOKEN_IN_USE">Attempted to remove registry data from a token that is already in use elsewhere.</error>
		<error code="80045045" name="SPERR_TOKEN_DELETED">Attempted to perform an action on an object token that has had associated registry key deleted.</error>
		<error code="80045046" name="SPERR_MULTI_LINGUAL_NOT_SUPPORTED">The selected voice was registered as multi-lingual. SAPI does not support multi-lingual registration.</error>
		<error code="80045047" name="SPERR_EXPORT_DYNAMIC_RULE">Exported rules cannot refer directly or indirectly to a dynamic rule.</error>
		<error code="80045048" name="SPERR_STGF_ERROR">Error parsing the SAPI Text Grammar Format (XML grammar).</error>
		<error code="80045049" name="SPERR_WORDFORMAT_ERROR">Incorrect word format, probably due to incorrect pronunciation string.</error>
		<error code="8004504a" name="SPERR_STREAM_NOT_ACTIVE">Methods associated with active audio stream cannot be called unless stream is active.</error>
		<error code="8004504b" name="SPERR_ENGINE_RESPONSE_INVALID">Arguments or data supplied by the engine are in an invalid format or are inconsistent.</error>
		<error code="8004504c" name="SPERR_SR_ENGINE_EXCEPTION">An exception was raised during a call to the current SR engine.</error>
		<error code="8004504d" name="SPERR_STREAM_POS_INVALID">Stream position information supplied from engine is inconsistent.</error>
		<error code="0004504e" name="SP_RECOGNIZER_INACTIVE">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.</error>
		<error code="8004504f" name="SPERR_REMOTE_CALL_ON_WRONG_THREAD">When making a remote call to the server, the call was made on the wrong thread.</error>
		<error code="80045050" name="SPERR_REMOTE_PROCESS_TERMINATED">The remote process terminated unexpectedly.</error>
		<error code="80045051" name="SPERR_REMOTE_PROCESS_ALREADY_RUNNING">The remote process is already running; it cannot be started a second time.</error>
		<error code="80045052" name="SPERR_LANGID_MISMATCH">An attempt to load a CFG grammar with a LANGID different than other loaded grammars.</error>
		<error code="00045053" name="SP_PARTIAL_PARSE_FOUND">A grammar-ending parse has been found that does not use all available words.</error>
		<error code="80045054" name="SPERR_NOT_TOPLEVEL_RULE">An attempt to deactivate or activate a non top-level rule.</error>
		<error code="00045055" name="SP_NO_RULE_ACTIVE">An attempt to parse when no rule was active.</error>
		<error code="80045056" name="SPERR_LEX_REQUIRES_COOKIE">An attempt to ask a container lexicon for all words at once.</error>
		<error code="00045057" name="SP_STREAM_UNINITIALIZED">An attempt to activate a rule/dictation/etc without calling SetInput first in the InProc case.</error>
		<error code="80045059" name="SPERR_UNSUPPORTED_LANG">The requested language is not supported.</error>
		<error code="8004505a" name="SPERR_VOICE_PAUSED">The operation cannot be performed because the voice is currently paused.</error>
		<error code="8004505b" name="SPERR_AUDIO_BUFFER_UNDERFLOW">This will only be returned on input (read) streams when the real time audio device stops returning data for a long period of time.</error>
		<error code="8004505c" name="SPERR_AUDIO_STOPPED_UNEXPECTEDLY">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.</error>
		<error code="8004505d" name="SPERR_NO_WORD_PRONUNCIATION">The SR engine is unable to add this word to a grammar. The application may need to supply an explicit pronunciation for this word.</error>
		<error code="8004505e" name="SPERR_ALTERNATES_WOULD_BE_INCONSISTENT">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.</error>
		<error code="8004505f" name="SPERR_NOT_SUPPORTED_FOR_SHARED_RECOGNIZER">The method called is not supported for the shared recognizer. For example, ISpRecognizer::GetInputStream().</error>
		<error code="80045060" name="SPERR_TIMEOUT">A task could not complete because the SR engine had timed out.</error>
		<error code="80045061" name="SPERR_REENTER_SYNCHRONIZE">An SR engine called synchronize while inside of a synchronize call.</error>
		<error code="80045062" name="SPERR_STATE_WITH_NO_ARCS">The grammar contains a node no arcs.</error>
		<error code="80045063" name="SPERR_NOT_ACTIVE_SESSION">Neither audio output nor input is supported for non-active console sessions.</error>
		<error code="80045064" name="SPERR_ALREADY_DELETED">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.</error>
		<error code="00045065" name="SP_AUDIO_STOPPED">This can be returned from Read or Write calls for audio streams when the stream is stopped.</error>
		<error code="80045066" name="SPERR_RECOXML_GENERATION_FAIL">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.</error>
		<error code="80045067" name="SPERR_SML_GENERATION_FAIL">The SML could not be generated. For example, the transformation xslt template is not well formed.</error>
		<error code="80045068" name="SPERR_NOT_PROMPT_VOICE">The SML could not be generated. For example, the transformation xslt template is not well formed.</error>
		<error code="80045069" name="SPERR_ROOTRULE_ALREADY_DEFINED">There is already a root rule for this grammar. Defining another root rule will fail.</error>
		<error code="80045070" name="SPERR_SCRIPT_DISALLOWED">Support for embedded script not supported because browser security settings have disabled it.</error>
		<error code="80045071" name="SPERR_REMOTE_CALL_TIMED_OUT_START">A time out occurred starting the sapi server.</error>
		<error code="80045072" name="SPERR_REMOTE_CALL_TIMED_OUT_CONNECT">A timeout occurred obtaining the lock for starting or connecting to sapi server.</error>
		<error code="80045073" name="SPERR_SECMGR_CHANGE_NOT_ALLOWED">When there is a cfg grammar loaded, changing the security manager is not permitted.</error>
		<error code="00045074" name="SP_COMPLETE_BUT_EXTENDABLE">Parse is valid but could be extendable (internal use only).</error>
		<error code="80045075" name="SPERR_FAILED_TO_DELETE_FILE">Tried and failed to delete an existing file.</error>
		<error code="80045076" name="SPERR_SHARED_ENGINE_DISABLED">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).</error>
		<error code="80045077" name="SPERR_RECOGNIZER_NOT_FOUND">No recognizer is installed.</error>
		<error code="80045078" name="SPERR_AUDIO_NOT_FOUND">No audio device is installed.</error>
		<error code="80045079" name="SPERR_NO_VOWEL">No vowel in a word.</error>
		<error code="8004507a" name="SPERR_UNSUPPORTED_PHONEME">Unsupported phoneme.</error>
		<error code="0004507b" name="SP_NO_RULES_TO_ACTIVATE">The grammar does not have any root or top-level active rules to activate.</error>
		<error code="0004507c" name="SP_NO_WORDENTRY_NOTIFICATION">The engine does not need SAPI word entry handles for this grammar.</error>
		<error code="8004507d" name="SPERR_WORD_NEEDS_NORMALIZATION">The word passed to the GetPronunciations interface needs normalizing first.</error>
		<error code="8004507e" name="SPERR_CANNOT_NORMALIZE">The word passed to the normalize interface cannot be normalized.</error>
		<error code="80045080" name="S_NOTSUPPORTED">This combination of function call and input is currently not supported.</error>
	</language>
</errors>