ISpRecognizer::IsUISupported (SAPI 5.3)

Speech API 5.3
Microsoft Speech API 5.3


ISpRecognizer::IsUISupported checks if the underlying speech engine implements a certain type of user-interface component.

See the SR Engine Guide for further information on how an SR engine implements UI.

[local] HRESULT IsUISupported(
   const WCHAR   *pszTypeOfUI,
   void          *pvExtraData,
   ULONG          cbExtraData,
   BOOL          *pfSupported


[in] Address of a pointer to a null-terminated string containing the UI type information.
[in] Additional information for the call. The SR engine implementer dictates the format and usage of the data provided.
[in] Size, in bytes, of pvExtraData. The SR engine implementer dictates the format and usage of the data provided.
[out] Address of a variable that receives the value indicating support for the interface. This value is set to TRUE when this interface is supported; otherwise set to FALSE. If this value is TRUE, but the return code is S_FALSE, the UI type (pszTypeOfUI) is supported, but not with the current parameters or run-time environment. Check with the engine implementer to verify run-time requirements.

Return values

S_OKFunction completed successfully.
S_FALSEThe UI is supported but not with the current run-time environment or parameters.
E_INVALIDARGpfSupported is invalid or bad.
FAILED(hr)Appropriate error message.


The following code snippet illustrates the use of ISpRecognizer::IsUISupported using SPDUI_UserTraining.

// Declare local identifiers:
HRESULT                      hr = S_OK;
CComPtr<ISpRecognizer>       cpRecognizer;
BOOL                         fSupported;

// Ask current recognizer if it supports user training.
hr = cpRecognizer->IsUISupported(SPDUI_UserTraining, NULL, NULL, &fSupported;);

if (SUCCEEDED(hr))
   // If fSupported = TRUE, then current speech recognizer
   // supports user training; so, do stuff here.