ISpRecoContext::SetMaxAlternates (SAPI 5.3)

Speech API 5.3
Microsoft Speech API 5.3


ISpRecoContext::SetMaxAlternates sets the maximum number of alternates that the SR engine will return for command and control or proprietary grammars associated with this context. See Remarks section.

HRESULT SetMaxAlternates(
   ULONG   cAlternates


[in] Specifies the maximum number of alternates the engine will return.

Return values

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


By default, the maximum alternates value is zero, so an application must call ::SetMaxAlternates to retrieve alternates.

The value is the maximum number of alternates that will be returned to the application. For SR engine's that do not support command and control (or proprietary grammar) alternates, this method will succeed, but the alternates returned will always be zero.

For applications and SR engines using proprietary grammars and proprietary alternates, ISpRecoContext::GetMaxAlternates and ISpRecoContext::SetMaxAlternates are the recommended methods of coordinating maximum alternate values between the application and the SR engine.

The SR engine can query each context's maximum requested alternates value by calling ISpSREngineSite::GetContextMaxAlternates with the context handle. When using SAPI command and control grammars, the SR engine can call ISpSREngineSite::GetMaxAlternates with the rule handle.

This method has no effect on dictation alternates. See ISpRecoResult::GetAlternates for information regarding dictation alternates.

Versions of the Microsoft speech recognition engine up to 5.1 did not support command and control alternates, but versions 6.0 and above do. Other manufacturers' engines may also support alternates.

© 2016 Microsoft