ISpSREngine::SetGrammarState (SAPI 5.3)

Speech API 5.3
Microsoft Speech API 5.3


ISpSREngine::SetGrammarState indicates that a grammar has been activated or deactivated by the application calling ISpRecoGrammar::SetGrammarState.


HRESULT SetGrammarState(
   void             *pvEngineGrammar,
   SPGRAMMARSTATE   *eGrammarState


[in] The engine's grammar pointer for this grammar, as returned from a previous call to the OnCreateGrammar method.
[in] Flag of type SPGRAMMARSTATE indicating the new state of the grammar. This will either be SPGS_DISABLED or SPGS_ENABLED to indicate the grammar is being disabled or enabled; or SPGS_EXCLUSIVE to indicate this grammar has been enabled exclusively and other non-exclusive grammars will be disabled.

Return values

S_OKFunction completed successfully.
FAILED(hr)Appropriate error message.


When using standard CFG and dictation grammars, the engine may not need to be informed of the grammar state, as SAPI will automatically activate and deactivate the grammars as necessary. However, when using proprietary grammars, it may be necessary to look at this information.