UILANGUAGE_ENUMPROCW
コールバックシグネチャ
BOOL UILANGUAGE_ENUMPROCW(
LPWSTR param0,
INT_PTR param1
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| param0 | LPWSTR | |
| param1 | INT_PTR | - lParam [in]アプリケーション定義の値です。 - lpUILanguageString [in]ユーザーインターフェイス言語識別子または言語名を表す、null で終わる文字列を格納したバッファーへのポインターです。どちらが渡されるかは、EnumUILanguages の呼び出しで指定された dwFlags パラメーターの値によって決まります。 |
公式ドキュメント
EnumUILanguages 関数によって提供される、列挙されたユーザーインターフェイス言語の情報を処理する、アプリケーション定義のコールバック関数です。UILANGUAGE_ENUMPROC 型は、このコールバック関数へのポインターを定義します。EnumUILanguagesProc は、アプリケーション定義の関数名のプレースホルダーです。
戻り値
列挙を続行する場合は TRUE を、それ以外の場合は FALSE を返します。
解説(Remarks)
EnumUILanguagesProc 関数では、任意の処理を実行できます。アプリケーションは、この関数のアドレスを EnumUILanguages 関数に渡すことで、この関数を登録します。
EnumUILanguages の呼び出しで MUI_LANGUAGE_ID が指定された場合、この関数に渡される言語文字列は、先頭の 0x を含まない 16 進数の言語
識別子となり、長さは 4 文字になります。たとえば、en-US は "0409"、en は "0009"
として渡されます。
C# シグネチャ
delegate System.Boolean EnumUILanguagesProc(
System.IntPtr lpUILanguageString,
System.IntPtr lParam
);
winnls.h ヘッダーは、UILANGUAGE_ENUMPROC を、UNICODE プリプロセッサ定数の定義に基づいて この関数の ANSI 版と Unicode 版を自動的に選択するエイリアスとして定義しています。エンコードに依存しないエイリアスの使用と、エンコードに依存しないコードとは言えないコードとを混在させると、不一致が生じ、コンパイルエラーや実行時エラーの原因となることがあります。詳細については、「関数プロトタイプの規則」を参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)