EnumUILanguagesW 関数 (winnls.h)
オペレーティング システムで使用できるユーザー インターフェイス言語を列挙し、一覧のすべての言語でコールバック関数を呼び出します。
構文
BOOL EnumUILanguagesW(
[in] UILANGUAGE_ENUMPROCW lpUILanguageEnumProc,
[in] DWORD dwFlags,
[in] LONG_PTR lParam
);
パラメーター
[in] lpUILanguageEnumProc
アプリケーション定義の EnumUILanguagesProc コールバック関数へのポインター。 EnumUILanguages は、リスト内の言語を列挙するために、この関数を繰り返し呼び出します。
[in] dwFlags
言語形式とフィルター処理を識別するフラグ。 次のフラグは、コールバック関数に渡す言語の形式を指定します。 書式フラグは相互に排他的であり、MUI_LANGUAGE_IDが既定値です。
値 | 意味 |
---|---|
|
言語文字列の 言語識別子 をコールバック関数に渡します。 |
|
言語文字列の 言語名 をコールバック関数に渡します。 |
次のフラグは、言語の列挙で使用する関数のフィルター処理を指定します。 フィルター 処理フラグは相互に排他的であり、既定値はMUI_LICENSED_LANGUAGES。
Windows Vista 以降: アプリケーションでは、 dwFlags を 0 に設定することも、指定したフラグの 1 つ以上に設定することもできます。 0 に設定すると、パラメーター値は既定で MUI_LANGUAGE_ID |MUI_LICENSED_LANGUAGES。
Windows 2000、Windows XP、Windows Server 2003: アプリケーションで dwFlags を 0 に設定する必要があります。
[in] lParam
アプリケーション定義値。
戻り値
成功した場合は TRUE 、それ以外の場合 は FALSE を 返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError を呼び出すことができます。このエラー コードは、次のいずれかのエラー コードを返すことができます。
- ERROR_INVALID_FLAGS。 フラグに指定された値が無効です。
- ERROR_INVALID_PARAMETER。 パラメーター値のいずれかが無効です。
注釈
この関数は、使用できるユーザー インターフェイス言語を列挙し、指定されたフラグに応じてオペレーティング システムで使用するライセンスを取得します。 言語識別子または言語名を EnumUILanguagesProc コールバック関数に一度に 1 つずつ渡します。 EnumUILanguages 関数は、最後の言語が見つかるか、コールバック関数が FALSE を返すまで、言語識別子または名前をコールバック関数に引き続き渡します。
Windows Vista 以降でのみ実行されるアプリケーションの場合は、MUI_LANGUAGE_IDよりもMUI_LANGUAGE_NAMEをお勧めします。 MUI_LANGUAGE_NAMEを使用すると、 補足ロケールに関連付けられている言語を区別できます。
この関数の呼び出しでMUI_LANGUAGE_ID フラグが指定されている場合、コールバックに渡される文字列
関数は、先頭の 0x を含まない 16 進数言語識別子であり、4 になります
文字の長さ。 たとえば、en-US は "0409" として渡され、en は "0009" として渡されます。 値 "1000" は、補足ロケールに関連付けられている任意の言語のコールバック関数に渡されます。 この値は、 LOCALE_CUSTOM_UNSPECIFIEDの 16 進数の値に対応します。 選択した言語がユーザー優先 UI 言語リストまたはシステム優先 UI 言語リストにある場合でも、補足ロケールは区別されません。
C# シグネチャ
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
static extern System.Boolean EnumUILanguages(
EnumUILanguagesProc lpUILanguageEnumProc,
System.UInt32 dwFlags,
System.IntPtr lParam
);
注意
winnls.h ヘッダーは EnumUILanguages をエイリアスとして定義します。このエイリアスは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | winnls.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |