ISpRecoContext::GetMaxAlternates (SAPI 5.3)

Speech API 5.3
Microsoft Speech API 5.3


ISpRecoContext::GetMaxAlternates retrieves 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 GetMaxAlternates(
   ULONG   *pcMaxAlternates


[out] The maximum number of alternates. The default value is zero, unless the application specifies it by ISpRecoContext::SetMaxAlternates.

Return values

S_OKFunction completed successfully.
E_POINTERpcMaxAlternates is invalid or bad.
FAILED(hr)Appropriate error message.


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 that are using proprietary grammars and proprietary alternates, ISpRecoContext::GetMaxAlternates and ISpRecoContext::SetMaxAlternates is the recommended method of coordinating maximum alternate values between the application and 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 SR engine up to 5.1 did not support command and control alternates, but versions 6.0 and above do.