GetThreadPreferredUILanguages

現在のスレッドのスレッド優先 UI 言語を取得する。詳細は User Interface Language Management を参照。

GetThreadPreferredUILanguages dwFlags, pulNumLanguages, pwszLanguagesBuffer, pcchLanguagesBuffer

dwFlags : [int] 言語形式とフィルタリングを識別するフラグ。以下のフラグはスレッドの優先 UI 言語に使用する言語形式を指定する。フラグは相互排他的で、既定は MUI_LANGUAGE_NAME である。
pulNumLanguages : [var] pwszLanguagesBuffer に取得される言語の数へのポインタ。
pwszLanguagesBuffer : [int] 省略可能。dwFlags で指定された形式で、この関数が順序付けされた null 区切りのスレッド優先 UI 言語リストを取得するバッファへのポインタ。このリストは 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
を呼ぶ。これは以下のいずれかのエラーコードを返す。
(以下省略)

[備考]
アプリケーションで指定されたフラグに応じて、この関数はスレッドの優先 UI 言語、プロセスの優先 UI 言語、ユーザーの優先 UI
言語、システムの優先 UI 言語、システム既定 UI
言語からなる複合リストを取得できる。重複する言語に遭遇した場合、関数は最初の言語のみを取得する。アプリケーションが
SetThreadPreferredUILanguages を MUI_CONSOLE_FILTER または
MUI_COMPLEX_SCRIPT_FILTER フラグで呼び出していた場合、GetThreadPreferredUILanguages
は結果リスト内の言語をフィルタする。関数はコンソールが表示できない言語を代替言語に置き換える。言語の代替は、その言語の
LOCALE_SCONSOLEFALLBACKNAME の値から決定される。コンソールに関する詳細は
SetThreadUILanguage の説明を参照。MUI_LANGUAGE_NAME フラグは補助ロケールに対応する Language
Interface Pack (LIP) 言語をより適切に処理できるため、MUI_LANGUAGE_ID よりも
MUI_LANGUAGE_NAME の使用が推奨される。MUI_LANGUAGE_ID が指定されている場合、取得される言語文字列は先頭の
0x を含まない 16 進数の言語識別子で、長さは 4 文字となる。たとえば en-US は "0409" として、en は "0009"
として返される。アプリケーションが MUI_LANGUAGE_ID フラグを設定する場合、スレッドの優先 UI
言語は補助ロケールに対応する 1
つ以上の言語を含むことができる。関数から正常に戻ったとき、補助ロケールに対応する言語に対しては言語バッファに "1400"
が含まれる。このリストにはそのような言語は 1 つしか含めない。文字列 "1400" は LOCALE_CUSTOM_UI_DEFAULT
の 16 進数値に対応する。また、関数から正常に戻ったとき、補助ロケールに対応する他の言語に対しては
pwszLanguagesBuffer に "1000" が含まれる。文字列 "1000" は
LOCALE_CUSTOM_UNSPECIFIED の 16
進数値に対応する。これは補助ロケール間を区別できないため、いかなる関数の入力としても有用ではない。C# シグネチャ
(以下省略)

情報

プラグイン / モジュール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