ImmGetCompositionStringA 函数 (imm.h)

检索有关组合字符串的信息。

语法

LONG ImmGetCompositionStringA(
                  HIMC   unnamedParam1,
                  DWORD  unnamedParam2,
  [out, optional] LPVOID lpBuf,
  [in]            DWORD  dwBufLen
);

参数

unnamedParam1

unnamedParam2

[out, optional] lpBuf

指向函数检索组合字符串信息的缓冲区的指针。

[in] dwBufLen

即使输出是 Unicode 字符串,输出的大小(以字节为单位)。 如果函数返回所需输出缓冲区的大小,则应用程序将此参数设置为 0。

返回值

返回复制到输出缓冲区的字节数。 如果 dwBufLen 设置为 0,则函数将返回接收所有请求的信息(不包括终止 null 字符)所需的缓冲区大小(以字节为单位)。 即使请求的数据是 Unicode 字符串,返回值始终是大小(以字节为单位)。

如果未成功,此函数将返回以下负错误代码之一:

  • IMM_ERROR_NODATA。 组合数据在输入上下文中未准备就绪。
  • IMM_ERROR_GENERAL。 IME 检测到的常规错误。

言论

应用程序调用此函数以响应 WM_IME_COMPOSITIONWM_IME_STARTCOMPOSITION 消息。 当应用程序调用 ImmReleaseContext 函数时,IMM 会删除信息。

注意 如果应用程序与软输入面板(SIP)一起使用,则必须编写代码来处理全角平假名和半角片假名。
 

注意

imm.h 标头将 ImmGetCompositionString 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows XP [仅限桌面应用],已安装东亚语言支持。
支持的最低服务器 Windows Server 2003 [仅限桌面应用]
目标平台 窗户
标头 imm.h(包括 Immdev.h、Windows.h)
Imm32.lib
DLL Imm32.dll

另请参阅

ImmReleaseContext

输入法管理器

输入法管理器函数

WM_IME_COMPOSITION

WM_IME_STARTCOMPOSITION