GetUserPreferredUILanguages 関数 (winnls.h)

表示言語設定に関する情報を取得します。 詳細については、「 ユーザー インターフェイス言語管理」を参照してください。

構文

BOOL GetUserPreferredUILanguages(
  [in]            DWORD   dwFlags,
  [out]           PULONG  pulNumLanguages,
  [out, optional] PZZWSTR pwszLanguagesBuffer,
  [in, out]       PULONG  pcchLanguagesBuffer
);

パラメーター

[in] dwFlags

言語形式とフィルター処理を識別するフラグ。 次のフラグは、表示言語リストに使用する言語形式を指定します。 フラグは相互に排他的であり、既定値はMUI_LANGUAGE_NAME。

意味
MUI_LANGUAGE_ID 言語識別子で言語文字列を取得する
MUI_LANGUAGE_NAME 言語名の形式で 言語 文字列を取得します。

[out] pulNumLanguages

pwszLanguagesBuffer で取得された言語の数へのポインター。

[out, optional] pwszLanguagesBuffer

省略可能。 この関数が、null で区切られた順序付きの表示言語リストを 、dwflags で指定された形式で取得するバッファーへのポインター。 このリストは 2 つの null 文字で終わります。

または、このパラメーターが NULL に設定され、 pcchLanguagesBuffer が 0 に設定されている場合、関数は pcchLanguagesBuffer 内の言語バッファーの必要なサイズを取得します。 必要なサイズには、2 つの null 文字が含まれます。

[in, out] pcchLanguagesBuffer

pwszLanguagesBuffer で示される言語バッファーのサイズ (文字数) へのポインター。 関数から正常に戻った場合、 パラメーターには、取得した言語バッファーのサイズが含まれます。

または、このパラメーターが 0 に設定され、 pwszLanguagesBufferNULL に設定されている場合、関数は pcchLanguagesBuffer 内の言語バッファーの必要なサイズを取得します。

戻り値

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

  • ERROR_INSUFFICIENT_BUFFER。 指定されたバッファー サイズが十分な大きさではなかったか、 正しく NULL に設定されていません。

関数が他の理由で失敗した場合、 pulNumLanguagespcchLanguagesBuffer の 値は未定義です。

注釈

MUI_LANGUAGE_IDを指定すると、取得される言語文字列は先頭の 0x を含まない 16 進数言語識別子になり、長さは 4 文字になります。 たとえば、en-US は "0409" として返され、en は "0009" として返されます。

表示言語には、補足ロケールに対応する複数のLanguage Interface Pack (LIP) 言語を含めることはできません。 リストにこれらの言語が複数含まれており、アプリケーションが関数の呼び出しでMUI_LANGUAGE_IDを指定している場合、言語バッファーにはその言語の "1400" が含まれます。 この文字列は、 LOCALE_CUSTOM_UI_DEFAULTの 16 進数の値に対応します。

この関数によって取得される言語リストには、次の特性があります。

  • 各言語は、有効な NLS ロケールを表します。
  • 各言語はオペレーティング システムにインストールされます。
  • リストには言語ごとに 1 つのエントリが含まれていますが、重複するエントリはありません。
  • リストが空の場合、またはこれらの検証条件を満たしていない場合は、代わりにシステム優先 UI 言語リストが使用されます。

C# シグネチャ

[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
        static extern System.Boolean GetUserPreferredUILanguages(
            System.UInt32 dwFlags,
            ref System.UInt32 pulNumLanguages,
            System.IntPtr pwszLanguagesBuffer,
            ref System.UInt32 pcchLanguagesBuffer
            );

要件

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

関連項目

GetSystemPreferredUILanguages 関数GetThreadPreferredUILanguages 関数GetThreadUILanguage 関数SetThreadPreferredUILanguages 関数多言語ユーザー インターフェイス多言語ユーザー インターフェイス関数