ImmGetCompositionStringA 函数 (immdev.h)

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

语法

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

parameters

unnamedParam1

unnamedParam2

[out, optional] lpBuf

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

[in] dwBufLen

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

返回值

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

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

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

注解

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

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

注意

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

要求

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

另请参阅

ImmReleaseContext

输入法管理器

输入法管理器函数

WM_IME_COMPOSITION

WM_IME_STARTCOMPOSITION