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 に設定され、 pwszLanguagesBuffer が NULL に設定されている場合、関数は pcchLanguagesBuffer 内の言語バッファーの必要なサイズを取得します。
戻り値
成功した場合は TRUE 、それ以外の場合 は FALSE を 返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError 関数を呼び出すことができます。この関数は、次のいずれかのエラー コードを返すことができます。
- ERROR_INSUFFICIENT_BUFFER。 指定されたバッファー サイズが十分な大きさではなかったか、 正しく NULL に設定されていません。
関数が他の理由で失敗した場合、 pulNumLanguages と pcchLanguagesBuffer の 値は未定義です。
注釈
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 関数、 多言語ユーザー インターフェイス、 多言語ユーザー インターフェイス関数