ISpRecognizer::IsUISupported
ISpRecognizer::IsUISupported checks if the underlying speech engine implements a certain type of user-interface component.
[local] HRESULT IsUISupported(
const WCHAR *pszTypeOfUI,
void *pvExtraData,
ULONG cbExtraData,
BOOL *pfSupported
);
Parameters
- pszTypeOfUI
- [in] Address of a pointer to a null-terminated string containing the UI type information.
- pvExtraData
- [in] Additional information for the call. The SR engine implementer dictates the format and usage of the data provided.
- cbExtraData
- [in] Size, in bytes, of pvExtraData. The SR engine implementer dictates the format and usage of the data provided.
- pfSupported
- [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
Value | Description |
---|---|
S_OK | Function completed successfully. |
S_FALSE | The UI is supported but not with the current run-time environment or parameters. |
E_INVALIDARG | pfSupported is invalid or bad. |
FAILED(hr) | Appropriate error message. |
Example
The following code snippet illustrates the use of ISpRecognizer::IsUISupported.
// 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.
}