ImmGetCompositionString

The ImmGetCompositionString function retrieves information about the composition string.

LONG ImmGetCompositionString(
  HIMC hIMC,      
  DWORD dwIndex,  
  LPVOID lpBuf,   
  DWORD dwBufLen  
);
 

Parameters

hIMC
Handle to the input context.
dwIndex
Index of the information to retrieve. This parameter can be one of the values specified in the "IME Composition String Values" table in Input Method Editor Constants. For each value except GCS_CURSORPOS and GCS_DELTASTART, the function copies the requested information to the specified buffer. The function returns the cursor and delta position values in the low 16-bits of the return value.
lpBuf
Pointer to the buffer that receives the requested information.
dwBufLen
Size of the buffer, in bytes. If zero, the ImmGetCompositionString function returns the buffer size needed for the complete information.

Return Values

Returns the number of bytes copied to the destination buffer or, if dwBufLen is zero, the buffer size, in bytes, needed to receive all of the requested information. On an error, the function returns one of the following negative error values:

Value Meaning
IMM_ERROR_NODATA Composition data is not ready in the input context.
IMM_ERROR_GENERAL General error detected by IME.

Remarks

An application calls this function in response to the WM_IME_COMPOSITION or WM_IME_STARTCOMPOSITION message. The IMM removes the information when an application calls the ImmReleaseContext function.

QuickInfo

  Windows NT: Requires version 4.0 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Requires version 2.0 or later (FE).
  Header: Declared in imm.h.
  Import Library: Use imm32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.

See Also

Input Method Editor Overview, Input Method Editor Functions, ImmReleaseContext, WM_IME_COMPOSITION