setInputScopes 函数 (inputscope.h)

设置指定窗口的一个输入范围、多个输入范围、一个短语列表、正则表达式和/或语音识别语法规范 (SRGS) 规则的组合。

语法

HRESULT SetInputScopes(
  [in] HWND             hwnd,
  [in] const InputScope *pInputScopes,
  [in] UINT             cInputScopes,
  [in] PWSTR            *ppszPhraseList,
  [in] UINT             cPhrases,
  [in] PWSTR            pszRegExp,
  [in] PWSTR            pszSRGS
);

parameters

[in] hwnd

要设置作用域的窗口。

[in] pInputScopes

指向输入范围数组的指针。 可以为 NULL。 如果不是 NULL,则数组中的所有输入范围都设置为具有相等权重的窗口的输入范围。 使用 IS_DEFAULT 接受所有其他输入范围。

[in] cInputScopes

*pInputScopes 指向的数组中的输入范围数。 如果数组为 NULL,则此值必须为

[in] ppszPhraseList

指向以 NULL 结尾的短语的指针数组的指针的指针。 可以为 NULL

[in] cPhrases

由 **ppszPhraseList 指向的指针数,表示短语数。

[in] pszRegExp

指向以 NULL 结尾的字符串的指针,该字符串包含要识别的正则表达式。 可以为 NULL

[in] pszSRGS

指向 以 NULL 结尾的 XML 字符串的指针,该字符串提供特定于语音的提示和规则来帮助语音识别。 XML 格式符合语音识别语法规范 (SRGS) 标准,在 中 http://www.w3.org/TR/speech-grammar概述。 可以为 NULL。 $

返回值

含义
S_OK 方法成功。

注解

调用此方法将替换与窗口关联的任何范围。

仅当窗口 (hwnd 参数) 且调用线程位于同一线程中时,此 API 才有效。 如果为其他线程的窗口调用此 API,它将失败并出现E_INVALIDARG。

如果在尚未与文档管理器关联的窗口 (hwnd 参数) 上调用此方法,则不会向感兴趣的客户端发送文本服务通知 (,例如可能需要响应范围更改的触摸键盘) 。

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 inputscope.h
DLL Msctf.dll