EnumSystemLocalesEx 関数 (winnls.h)

オペレーティング システムにインストールされているか、オペレーティング システムでサポートされているロケールを列挙します。

メモ アプリケーションは、Windows Vista 以降でのみ実行するように設計されている場合は 、EnumSystemLocales を優先してこの関数を呼び出す必要があります。
 

構文

BOOL EnumSystemLocalesEx(
  [in]           LOCALE_ENUMPROCEX lpLocaleEnumProcEx,
  [in]           DWORD             dwFlags,
  [in]           LPARAM            lParam,
  [in, optional] LPVOID            lpReserved
);

パラメーター

[in] lpLocaleEnumProcEx

アプリケーション定義のコールバック関数へのポインター。 EnumSystemLocalesEx 関数は、このコールバック関数を繰り返し呼び出すことによってロケールを列挙します。 詳細については、「 EnumLocalesProcEx」を参照してください。

[in] dwFlags

列挙するロケールを識別するフラグ。 フラグは、単独で使用することも、バイナリ OR を使用して組み合わせて使用することもできます。 アプリケーションでこのパラメーターに 0 を指定した場合、関数は LOCALE_ALL と同様に動作します。

[in] lParam

コールバック関数に渡されるアプリケーション指定のパラメーター。 これは、マルチスレッド アプリケーションに特に役立ちます。

[in, optional] lpReserved

予約; は NULL である必要があります。

戻り値

成功した場合は 0 以外の値を返し、それ以外の場合は 0 を返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError を呼び出すことができます。このエラー コードは、次のいずれかのエラー コードを返すことができます。

  • ERROR_BADDB。 関数がデータにアクセスできませんでした。 この状況は、通常は発生するべきではありません。通常は、インストールが正しくないことを示します。ディスクの問題などです。
  • ERROR_INVALID_FLAGS。 フラグに指定された値が無効です。
  • ERROR_INVALID_PARAMETER。 パラメーター値のいずれかが無効です。

注釈

この関数は、 lpLocaleEnumProcEx で指定されたアプリケーション定義のコールバック関数にロケール名を一度に 1 つずつ渡すことによってロケールを列挙します。 列挙は、インストールまたはサポートされているすべての名前がコールバック関数に渡されるか、コールバック関数が FALSE を返すまで続行されます。

dwFlags パラメーターの選択肢は EnumSystemLocales の場合とは異なり、インストールされているロケールとサポートされているロケールを区別する必要があります。

dwFlagsLOCALE_ALTERNATE_SORTSが指定されている場合、代替の並べ替え順序を表すロケールごとにコールバック関数が呼び出されます。 たとえば、スペイン語 (スペイン) は既定で国際並べ替え順序ですが、従来の並べ替え順序は別の並べ替えに使用できます。 ドイツ語 (ドイツ) は既定で辞書の並べ替え順序ですが、別の電話帳の並べ替え順序を使用できます。

この関数の使用方法を示す例については、「 NLS: 名前ベースの API サンプル」を参照してください

要件

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

関連項目

EnumLocalesProcEx

EnumSystemLocales

各国語サポート

各国語サポート関数