GetUserPreferredUILanguages

ユーザーの優先 UI 言語に関する情報を取得する。詳細は User Interface Language Management を参照。

GetUserPreferredUILanguages dwFlags, pulNumLanguages, pwszLanguagesBuffer, pcchLanguagesBuffer

dwFlags : [int] 言語形式とフィルタリングを識別するフラグ。以下のフラグは表示言語リストに使用する言語形式を指定する。フラグは相互排他的で、既定は MUI_LANGUAGE_NAME である。 | 値 | 意味 | | --- | --- | | **MUI_LANGUAGE_ID** | 言語文字列を [言語識別子](/windows/desktop/Intl/language-identifiers) で取得する | | **MUI_LANGUAGE_NAME** | 言語文字列を [言語名](/windows/desktop/Intl/language-names) 形式で取得する。 |
pulNumLanguages : [var] *pwszLanguagesBuffer* に取得される言語の数へのポインタ。
pwszLanguagesBuffer : [int] 省略可能。*dwflags* で指定された形式で、この関数が順序付けされた null 区切りの表示言語リストを取得するバッファへのポインタ。このリストは 2 つの null 文字で終わる。あるいは、このパラメータが **NULL** に設定され、*pcchLanguagesBuffer* が 0 に設定されている場合、関数は必要な言語バッファのサイズを *pcchLanguagesBuffer* に取得する。必要なサイズには 2 つの null 文字が含まれる。
pcchLanguagesBuffer : [var] *pwszLanguagesBuffer* が示す言語バッファのサイズ(文字数)へのポインタ。関数から正常に戻ったとき、このパラメータには取得された言語バッファのサイズが含まれる。あるいは、このパラメータが 0 に設定され、*pwszLanguagesBuffer* が **NULL** に設定されている場合、関数は必要な言語バッファのサイズを *pcchLanguagesBuffer* に取得する。

(プラグイン / モジュール : kernel32.dll)

解説

ユーザーの優先 UI 言語に関する情報を取得する。詳細は User Interface Language Management を参照。

[戻り値]
成功した場合は **TRUE**、それ以外の場合は **FALSE** を返す。拡張エラー情報を取得するには、アプリケーションは
[GetLastError
関数](../errhandlingapi/nf-errhandlingapi-getlasterror.md)
を呼ぶ。これは以下のいずれかのエラーコードを返す: -
ERROR_INSUFFICIENT_BUFFER。提供されたバッファサイズが十分でなかった、または誤って **NULL**
に設定された。それ以外の理由で関数が失敗した場合、*pulNumLanguages* と *pcchLanguagesBuffer*
の値は未定義である。

[備考]
MUI_LANGUAGE_ID が指定されている場合、取得される言語文字列は先頭の 0x を含まない 16 進数の言語識別子で、長さは 4
文字となる。たとえば en-US は "0409" として、en は "0009"
として返される。表示言語は、[補助ロケール](/windows/desktop/Intl/custom-locales) に対応する
Language Interface Pack (LIP) 言語を 1
つを超えて含むことはできない。リストにこれらの言語が複数含まれており、アプリケーションが関数の呼び出しで MUI_LANGUAGE_ID
を指定した場合、その言語に対して言語バッファには "1400" が含まれる。この文字列は
[LOCALE_CUSTOM_UI_DEFAULT](/windows/desktop/Intl/locale-custom-constants)
の 16 進数値に対応する。この関数で取得される言語リストは以下の特徴を持つ: - 各言語は有効な NLS ロケールを表す。 -
各言語はオペレーティングシステムにインストールされている。 - リストには言語ごとに 1 つのエントリがあり、重複エントリはない。 -
リストが空、またはこれらの検証基準を満たさない場合、システムの優先 UI 言語リストが代わりに使用される。

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs