次の方法で共有


ImmGetCompositionStringW 関数 (imm.h)

コンポジション文字列に関する情報を取得します。

構文

LONG ImmGetCompositionStringW(
                  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 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー imm.h (Immdev.h、Windows.h を含む)
ライブラリ Imm32.lib
DLL Imm32.dll

関連項目

ImmReleaseContext の

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

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

WM_IME_COMPOSITION

WM_IME_STARTCOMPOSITION