ISpGrammarBuilder::AddWordTransition (SAPI 5.3)

Microsoft Speech API 5.3

ISpGrammarBuilder::AddWordTransition

ISpGrammarBuilder::AddWordTransition adds a word or a sequence of words to the grammar.

  
    HRESULT AddWordTransition(
   SPSTATEHANDLE          hFromState,
   SPSTATEHANDLE          hToState,
   LPCWSTR               *psz,
   LPCWSTR               *pszSeparators,
   SPGRAMMARWORDTYPE      eWordType,
   float                  Weight,
   const SPPROPERTYINFO  *pPropInfo
);

Parameters

  • hFromState
    [in] Handle of the state from which the arc (or sequence of arcs in the case of multiple words) should originate.
  • hToState
    [in] Handle of the state where the arc (or sequence of arcs) should terminate. If NULL, the final arc will be to the (implicit) terminal node of this grammar rule.
  • psz
    [in] Address of a null-terminated string containing the word or words to be added. If psz is NULL, an epsilon arc will be added.
  • pszSeparators
    [in] Address of a null-terminated string containing the transition word separation characters.
    psz points to a single word if pszSeperators is NULL, or else pszSeperators specifies the valid separator characters. This parameter may not contain a forward slash ("/") as that is used for the complex word format.
  • eWordType
    [in] The SPGRAMMARWORDTYPE enumeration that specifies the word type. SAPI 5.1 supports only SPWT_LEXICAL. SAPI 5.3 supports SPWT_LEXICAL and SPWT_LEXICAL_NO_SPECIAL_CHARS. If neither of these are specified, the method returns E_INVALIDARG.
  • Weight
    [in] Value specifying the arc's relative weight in case there are multiple arcs originating from hFromState.
  • pPropInfo
    [in] The SPPROPERTYINFO structure containing property name and value information that is associated with this arc or sequence of arcs.

Return values

Value
S_OK
E_INVALIDARG
SPERR_WORDFORMAT_ERROR
E_OUTOFMEMORY
FAILED(hr)