EnumSystemLocalesA 関数 (winnls.h)

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

メモ 相互運用性の理由から、アプリケーションでは EnumSystemLocalesEx 関数を EnumSystemLocales よりも優先する必要があります。これは、Microsoft が新しいロケールのロケール識別子ではなくロケール名の使用に移行しているためです。 Windows Vista 以降でのみ実行されるアプリケーションでは、 EnumSystemLocalesEx を使用する必要があります。
 

構文

BOOL EnumSystemLocalesA(
  [in] LOCALE_ENUMPROCA lpLocaleEnumProc,
  [in] DWORD            dwFlags
);

パラメーター

[in] lpLocaleEnumProc

アプリケーション定義のコールバック関数へのポインター。 詳細については、「 EnumLocalesProc」を参照してください。

[in] dwFlags

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

説明
LCID_INSTALLED
インストールされているロケール識別子のみを列挙します。 この値は、LCID_SUPPORTEDでは使用できません。
LCID_SUPPORTED
サポートされているすべてのロケール識別子を列挙します。 この値は、LCID_INSTALLEDでは使用できません。
LCID_ALTERNATE_SORTS
代替並べ替えロケール識別子のみを列挙します。 この値をLCID_INSTALLEDまたはLCID_SUPPORTEDで使用すると、インストール済みロケールまたはサポートされているロケールと、代替ソートロケール識別子が取得されます。

戻り値

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

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

解説

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

注意

winnls.h ヘッダーは、EnumSystemLocales をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

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

関連項目

EnumLocalesProc

EnumSystemLocalesEx

各国語サポート

各国語サポート関数