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_COMPOSITIONまたはメッセージ に応答してこの関数 WM_IME_STARTCOMPOSITION 呼び出します。 アプリケーションが ImmReleaseContext 関数を呼び出すと、IMM によって情報が削除されます。

メモ ソフト入力パネル (SIP) でアプリケーションを使用する場合は、全角ひらがなと半角カタカナの両方を処理するコードを記述する必要があります。
 

注意

imm.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして ImmGetCompositionString を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows XP [デスクトップ アプリのみ]、東アジア言語のサポートがインストールされています。
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー imm.h (Immdev.h、Windows.h を含む)
Library Imm32.lib
[DLL] Imm32.dll

こちらもご覧ください

ImmReleaseContext

入力メソッド マネージャー

入力メソッド マネージャー関数

WM_IME_COMPOSITION

WM_IME_STARTCOMPOSITION