📄 sperror.h
字号:
/*******************************************************************************
* SPError.h *
*-----------*
* Description:
* This header file contains the custom error codes specific to SAPI5
*-------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
*******************************************************************************/
#ifndef SPError_h
#define SPError_h
#ifndef _WINERROR_
#include <winerror.h>
#endif
#define FACILITY_SAPI FACILITY_ITF
#define SAPI_ERROR_BASE 0x5000
#define MAKE_SAPI_HRESULT(sev, err) MAKE_HRESULT(sev, FACILITY_SAPI, err)
#define MAKE_SAPI_ERROR(err) MAKE_SAPI_HRESULT(SEVERITY_ERROR, err + SAPI_ERROR_BASE)
#define MAKE_SAPI_SCODE(scode) MAKE_SAPI_HRESULT(SEVERITY_SUCCESS, scode + SAPI_ERROR_BASE)
/*** SPERR_UNINITIALIZED 0x80045001 -2147201023
* The object has not been properly initialized.
*/
#define SPERR_UNINITIALIZED MAKE_SAPI_ERROR(0x001)
/*** SPERR_ALREADY_INITIALIZED 0x80045002 -2147201022
* The object has already been initialized.
*/
#define SPERR_ALREADY_INITIALIZED MAKE_SAPI_ERROR(0x002)
/*** SPERR_UNSUPPORTED_FORMAT 0x80045003 -2147201021
* The caller has specified an unsupported format.
*/
#define SPERR_UNSUPPORTED_FORMAT MAKE_SAPI_ERROR(0x003)
/*** SPERR_INVALID_FLAGS 0x80045004 -2147201020
* The caller has specified invalid flags for this operation.
*/
#define SPERR_INVALID_FLAGS MAKE_SAPI_ERROR(0x004)
/*** SP_END_OF_STREAM 0x00045005 282629
* The operation has reached the end of stream.
*/
#define SP_END_OF_STREAM MAKE_SAPI_SCODE(0x005)
/*** SPERR_DEVICE_BUSY 0x80045006 -2147201018
* The wave device is busy.
*/
#define SPERR_DEVICE_BUSY MAKE_SAPI_ERROR(0x006)
/*** SPERR_DEVICE_NOT_SUPPORTED 0x80045007 -2147201017
* The wave device is not supported.
*/
#define SPERR_DEVICE_NOT_SUPPORTED MAKE_SAPI_ERROR(0x007)
/*** SPERR_DEVICE_NOT_ENABLED 0x80045008 -2147201016
* The wave device is not enabled.
*/
#define SPERR_DEVICE_NOT_ENABLED MAKE_SAPI_ERROR(0x008)
/*** SPERR_NO_DRIVER 0x80045009 -2147201015
* There is no wave driver installed.
*/
#define SPERR_NO_DRIVER MAKE_SAPI_ERROR(0x009)
/*** SPERR_FILEMUSTBEUNICODE 0x8004500a -2147201014
* The file must be Unicode.
*/
#define SPERR_FILE_MUST_BE_UNICODE MAKE_SAPI_ERROR(0x00a)
/*** SP_INSUFFICIENTDATA 0x0004500b 282635
*
*/
#define SP_INSUFFICIENT_DATA MAKE_SAPI_SCODE(0x00b)
/*** SPERR_INVALID_PHRASE_ID 0x8004500c -2147201012
* The phrase ID specified does not exist or is out of range.
*/
#define SPERR_INVALID_PHRASE_ID MAKE_SAPI_ERROR(0x00c)
/*** SPERR_BUFFER_TOO_SMALL 0x8004500d -2147201011
* The caller provided a buffer too small to return a result.
*/
#define SPERR_BUFFER_TOO_SMALL MAKE_SAPI_ERROR(0x00d)
/*** SPERR_FORMAT_NOT_SPECIFIED 0x8004500e -2147201010
* Caller did not specify a format prior to opening a stream.
*/
#define SPERR_FORMAT_NOT_SPECIFIED MAKE_SAPI_ERROR(0x00e)
/*** SPERR_AUDIO_STOPPED 0x8004500f -2147201009
* This method is deprecated. Use SP_AUDIO_STOPPED instead.
*/
#define SPERR_AUDIO_STOPPED MAKE_SAPI_ERROR(0x00f)
/*** 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.
*/
#define SP_AUDIO_PAUSED MAKE_SAPI_SCODE(0x010)
/*** SPERR_RULE_NOT_FOUND 0x80045011 -2147201007
* Invalid rule name passed to ActivateGrammar.
*/
#define SPERR_RULE_NOT_FOUND MAKE_SAPI_ERROR(0x011)
/*** SPERR_TTS_ENGINE_EXCEPTION 0x80045012 -2147201006
* An exception was raised during a call to the current TTS driver.
*/
#define SPERR_TTS_ENGINE_EXCEPTION MAKE_SAPI_ERROR(0x012)
/*** SPERR_TTS_NLP_EXCEPTION 0x80045013 -2147201005
* An exception was raised during a call to an application sentence filter.
*/
#define SPERR_TTS_NLP_EXCEPTION MAKE_SAPI_ERROR(0x013)
/*** SPERR_ENGINE_BUSY 0x80045014 -2147201004
* In speech recognition, the current method can not be performed while
* a grammar rule is active.
*/
#define SPERR_ENGINE_BUSY MAKE_SAPI_ERROR(0x014)
/*** SP_AUDIO_CONVERSION_ENABLED 0x00045015 282645
* The operation was successful, but only with automatic stream format conversion.
*/
#define SP_AUDIO_CONVERSION_ENABLED MAKE_SAPI_SCODE(0x015)
/*** SP_NO_HYPOTHESIS_AVAILABLE 0x00045016 282646
* There is currently no hypothesis recognition available.
*/
#define SP_NO_HYPOTHESIS_AVAILABLE MAKE_SAPI_SCODE(0x016)
/*** SPERR_CANT_CREATE 0x80045017 -2147201001
* Can not create a new object instance for the specified object category.
*/
#define SPERR_CANT_CREATE MAKE_SAPI_ERROR(0x017)
/*** SP_ALREADY_IN_LEX 0x00045018 282648
* The word, pronunciation, or POS pair being added is already in lexicon.
*/
#define SP_ALREADY_IN_LEX MAKE_SAPI_SCODE(0x018)
/*** SPERR_NOT_IN_LEX 0x80045019 -2147200999
* The word does not exist in the lexicon.
*/
#define SPERR_NOT_IN_LEX MAKE_SAPI_ERROR(0x019)
/*** SP_LEX_NOTHING_TO_SYNC 0x0004501a 282650
* The client is currently synced with the lexicon.
*/
#define SP_LEX_NOTHING_TO_SYNC MAKE_SAPI_SCODE(0x01a)
/*** SPERR_LEX_VERY_OUT_OF_SYNC 0x8004501b -2147200997
* The client is excessively out of sync with the lexicon. Mismatches may not be incrementally sync'd.
*/
#define SPERR_LEX_VERY_OUT_OF_SYNC MAKE_SAPI_ERROR(0x01b)
/*** SPERR_UNDEFINED_FORWARD_RULE_REF 0x8004501c -2147200996
* A rule reference in a grammar was made to a named rule that was never defined.
*/
#define SPERR_UNDEFINED_FORWARD_RULE_REF MAKE_SAPI_ERROR(0x01c)
/*** SPERR_EMPTY_RULE 0x8004501d -2147200995
* A non-dynamic grammar rule that has no body.
*/
#define SPERR_EMPTY_RULE MAKE_SAPI_ERROR(0x01d)
/*** SPERR_GRAMMAR_COMPILER_INTERNAL_ERROR 0x8004501e -2147200994
* The grammar compiler failed due to an internal state error.
*/
#define SPERR_GRAMMAR_COMPILER_INTERNAL_ERROR MAKE_SAPI_ERROR(0x01e)
/*** SPERR_RULE_NOT_DYNAMIC 0x8004501f -2147200993
* An attempt was made to modify a non-dynamic rule.
*/
#define SPERR_RULE_NOT_DYNAMIC MAKE_SAPI_ERROR(0x01f)
/*** SPERR_DUPLICATE_RULE_NAME 0x80045020 -2147200992
* A rule name was duplicated.
*/
#define SPERR_DUPLICATE_RULE_NAME MAKE_SAPI_ERROR(0x020)
/*** SPERR_DUPLICATE_RESOURCE_NAME 0x80045021 -2147200991
* A resource name was duplicated for a given rule.
*/
#define SPERR_DUPLICATE_RESOURCE_NAME MAKE_SAPI_ERROR(0x021)
/*** SPERR_TOO_MANY_GRAMMARS 0x80045022 -2147200990
* Too many grammars have been loaded.
*/
#define SPERR_TOO_MANY_GRAMMARS MAKE_SAPI_ERROR(0x022)
/*** SPERR_CIRCULAR_REFERENCE 0x80045023 -2147200989
* Circular reference in import rules of grammars.
*/
#define SPERR_CIRCULAR_REFERENCE MAKE_SAPI_ERROR(0x023)
/*** SPERR_INVALID_IMPORT 0x80045024 -2147200988
* A rule reference to an imported grammar that could not be resolved.
*/
#define SPERR_INVALID_IMPORT MAKE_SAPI_ERROR(0x024)
/*** SPERR_INVALID_WAV_FILE 0x80045025 -2147200987
* The format of the WAV file is not supported.
*/
#define SPERR_INVALID_WAV_FILE MAKE_SAPI_ERROR(0x025)
/*** 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.
*/
#define SP_REQUEST_PENDING MAKE_SAPI_SCODE(0x026)
/*** 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.
*/
#define SPERR_ALL_WORDS_OPTIONAL MAKE_SAPI_ERROR(0x027)
/*** 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.
*/
#define SPERR_INSTANCE_CHANGE_INVALID MAKE_SAPI_ERROR(0x028)
/*** SPERR_RULE_NAME_ID_CONFLICT 0x80045029 -2147200983
* A rule exists with matching IDs (names) but different names (IDs).
*/
#define SPERR_RULE_NAME_ID_CONFLICT MAKE_SAPI_ERROR(0x029)
/*** 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.
*/
#define SPERR_NO_RULES MAKE_SAPI_ERROR(0x02a)
/*** SPERR_CIRCULAR_RULE_REF 0x8004502b -2147200981
* Rule 'A' refers to a second rule 'B' which, in turn, refers to rule 'A'.
*/
#define SPERR_CIRCULAR_RULE_REF MAKE_SAPI_ERROR(0x02b)
/*** SP_NO_PARSE_FOUND 0x0004502c 282668
* Parse path cannot be parsed given the currently active rules.
*/
#define SP_NO_PARSE_FOUND MAKE_SAPI_SCODE(0x02c)
/*** SPERR_NO_PARSE_FOUND 0x8004502d -2147200979
* Parse path cannot be parsed given the currently active rules.
*/
#define SPERR_INVALID_HANDLE MAKE_SAPI_ERROR(0x02d)
/*** SPERR_REMOTE_CALL_TIMED_OUT 0x8004502e -2147200978
* A marshaled remote call failed to respond.
*/
#define SPERR_REMOTE_CALL_TIMED_OUT MAKE_SAPI_ERROR(0x02e)
/*** 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.
*/
#define SPERR_AUDIO_BUFFER_OVERFLOW MAKE_SAPI_ERROR(0x02f)
/*** 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.
*/
#define SPERR_NO_AUDIO_DATA MAKE_SAPI_ERROR(0x030)
/*** SPERR_DEAD_ALTERNATE 0x80045031 -2147200975
* This alternate is no longer a valid alternate to the result it was obtained from.
* Returned from ISpPhraseAlt methods.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -