名前で指定したロケールに関する情報を取得する。注: アプリケーションが Windows Vista 以降のみで動作するように設計されている場合、GetLocaleInfo よりも本関数を優先して呼ぶべきである。注: 本関数は、カスタムロケールなどによりリリース間で変わり得るデータを取得することがある。アプリケーションがデータを永続化または送信する必要がある場合は、Using Persistent Locale Data を参照。
GetLocaleInfoEx lpLocaleName, LCType, lpLCData, cchData
lpLocaleName : [wstr] ロケール名へのポインタ、または以下の定義済み値のいずれか。 LCType : [int] 取得するロケール情報。指定可能な値は Locale Information Constants の "Constants Used in the LCType Parameter of GetLocaleInfo, GetLocaleInfoEx, and SetLocaleInfo" 節を参照。1 回の呼び出しで指定できるロケール情報は 1 つのみであることに注意。アプリケーションはバイナリ OR 演算子を使って LOCALE_RETURN_NUMBER を他の許可された定数と組み合わせ可能である。この場合、関数は値を文字列ではなく数値として取得する。値を受け取るバッファは少なくとも DWORD 値の長さ (2) でなければならない。注意: LOCALE_NOUSEROVERRIDE を他の任意の定数と組み合わせることも可能だが、この定数の使用は強く非推奨である(現在のユーザー上書きを使用しなくても、データはコンピュータ間で異なり得るし、カスタムロケールでデータが変わることがある。例えば月名や曜日名でも綴り改革の影響を受け得る)。LCType を LOCALE_IOPTIONALCALENDAR に設定した場合、関数は最初の代替カレンダーのみを取得する。注: すべての代替カレンダーを取得するには、アプリケーションは EnumCalendarInfoEx を使用するべきである。Windows Vista 以降では、失敗や予期しないデータの取得を避けるため、LCType パラメータに LOCALE_ILANGUAGE を使用するべきではない。代わりに GetLocaleInfoEx を呼ぶことを推奨する。 lpLCData : [wstr] 本関数が要求されたロケール情報を取得するバッファへのポインタ。cchData が 0 の場合、このポインタは使用されない。 cchData : [int] lpLCData が示すデータバッファのサイズ(文字単位)。あるいは、アプリケーションは本パラメータを 0 に設定できる。この場合、関数は lpLCData パラメータを使用せず、終端 null 文字を含む必要なバッファサイズを返す。
(プラグイン / モジュール : kernel32.dll)
名前で指定したロケールに関する情報を取得する。注: アプリケーションが Windows Vista 以降のみで動作するように設計されている場合、GetLocaleInfo よりも本関数を優先して呼ぶべきである。注: 本関数は、カスタムロケールなどによりリリース間で変わり得るデータを取得することがある。アプリケーションがデータを永続化または送信する必要がある場合は、Using Persistent Locale Data を参照。 [戻り値] 成功し cchData が 0 以外の値の場合、ロケールデータバッファに取得された文字数を返す。関数が成功し、cchData が 0 以外で LOCALE_RETURN_NUMBER が指定されている場合、戻り値はデータバッファに取得された整数のサイズ、すなわち 2 となる。関数が成功し cchData の値が 0 の場合、戻り値はロケールデータバッファに必要なサイズで、null 文字を含めた文字数である。関数が成功しなかった場合は 0 を返す。拡張エラー情報を取得するには GetLastError を呼ぶ。次のエラーコードのいずれかが返ることがある。 (以下省略) [備考] 本関数は通常、情報をテキスト形式で取得する。情報が数値で、LCType の値が LOCALE_ILANGUAGE または LOCALE_IDEFAULTLANGUAGE の場合、本関数は 16 進数を含む文字列を取得する。それ以外の場合、数値情報として取得されるテキストは 10 進数である。この規則には 2 つの例外がある。第 1 に、アプリケーションは LCType に LOCALE_RETURN_NUMBER を指定することで数値を整数として取得できる。第 2 に、LOCALE_FONTSIGNATURE は他のすべてのロケール情報定数と挙動が異なる。アプリケーションは少なくとも sizeof(LOCALESIGNATURE) バイトのデータバッファを用意しなければならない。関数からの正常復帰時、バッファは LOCALESIGNATURE 構造体として埋められる。注: LCType を LOCALE_FONTSIGNATURE と指定した場合でも、cchData と関数の戻り値は依然として文字数である。アプリケーションが LCType に LOCALE_FONTSIGNATURE を指定して GetLocaleInfoEx を呼ぶ場合、cchData は安全に sizeof(LOCALESIGNATURE) / sizeof(WCHAR) と指定できる。次の例は、テキスト以外の値に対するバッファサイズを正しく扱う例である。 (以下省略)
| プラグイン / モジュール | kernel32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_kernel32_gen2.hs |