<Return[G]><Top>

GetLocaleInfo

Declare Function Api_GetLocaleInfo& Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale&, ByVal LCType&, ByVal lpLCData$, ByVal cchData&)

Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long

ロケールに関する情報を取得する。

パラメータ
Locale
    情報を取得するロケールを指定する。

    MAKELCID マクロによって作成されたロケール識別子か、次のいずれかの定数が指定できる。
    LOCALE_SYSTEM_DEFAULT     既定のシステムロケール
    LOCALE_USER_DEFAULT          既定のユーザーロケール
LCType
    取得する情報の種類を指定する LCTYPE 型定数の 1 つを指定する。
    LOCALE_NOUSEROVERRIDE を除き、複数の LCTYPE 型定数を同時に指定することはできない。

    LOCALE_NOUSEROVERRIDE だけは、2 項 OR 演算子によって他の LCTYPE 型定数を組み合わせて指定することができる。

    LOCALE_NOUSEROVERRIDE と他の定数を組み合わせた値を指定すると、ユーザーが上書きした内容を無視し、指定した LCID の

    システム既定値が返される。
lpLCData
    要求したロケール情報を受け取るバッファへのポインタを指定する。
cchData
    lpLCData パラメータが指すバッファのサイズを、バイト単位(ANSI 版)、または文字単位(Unicode 版)で指定する。

    0 を指定すると、情報を格納するのに必要なバイト数、または文字数が返る。

    この場合、lpLCData パラメータが指すバッファは使われない。
 

戻り値
    関数が成功すると、情報の格納先バッファに書き込まれたバイト数(ANSI 版)または文字数(Unicode 版)が返る。

    cchData パラメータに 0 を指定した場合は、ロケールの情報を格納するのに必要なバイト数、または文字数が返る。
    関数が失敗すると、0 が返る。

    拡張エラー情報を取得するには、GetLastError 関数を使う。

    GetLastError 関数は、次のいずれかのエラーコードを返す。
    ERROR_INSUFFICIENT_BUFFER
    ERROR_INVALID_FLAGS
    ERROR_INVALID_PARAMETER

解説
    GetLocaleInfo 関数は常にテキスト形式で情報を取得する。情報が数値の場合、10 進表記を使ってテキストに変換する。