EnumUILanguagesA 関数 (winnls.h)

オペレーティング システムで使用できるユーザー インターフェイス言語を列挙し、一覧のすべての言語でコールバック関数を呼び出します。

構文

BOOL EnumUILanguagesA(
  [in] UILANGUAGE_ENUMPROCA lpUILanguageEnumProc,
  [in] DWORD                dwFlags,
  [in] LONG_PTR             lParam
);

パラメーター

[in] lpUILanguageEnumProc

アプリケーション定義の EnumUILanguagesProc コールバック関数へのポインター。 EnumUILanguages は、 この関数を繰り返し呼び出して、リスト内の言語を列挙します。

[in] dwFlags

言語形式とフィルター処理を識別するフラグ。 次のフラグは、コールバック関数に渡す言語の形式を指定します。 書式フラグは相互に排他的であり、MUI_LANGUAGE_IDが既定です。

意味
MUI_LANGUAGE_ID
言語文字列の 言語識別子 をコールバック関数に渡します。
MUI_LANGUAGE_NAME
言語文字列の 言語名 をコールバック関数に渡します。
 

次のフラグは、言語の列挙で使用する関数のフィルター処理を指定します。 フィルター処理フラグは相互に排他的であり、既定値はMUI_LICENSED_LANGUAGES。

意味
MUI_ALL_INSTALLED_LANGUAGES
オペレーティング システムで使用できるインストールされているすべての言語を列挙します。
MUI_LICENSED_LANGUAGES
使用可能で使用できるライセンスが付与されているすべてのインストール済み言語を列挙します。
MUI_GROUP_POLICY
使用可能でライセンスが付与され、 で許可されているすべてのインストール済み言語を列挙する

グループ ポリシー。

 

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 バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー winnls.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

EnumUILanguagesProc

GetSystemDefaultUILanguage

GetUserDefaultUILanguage

多言語ユーザー インターフェイス

多言語ユーザー インターフェイス関数