GetGeoInfoW

指定した地理的位置に関する情報を取得する。(Unicode)

GetGeoInfoW Location, GeoType, lpGeoData, cchData, LangId

Location : [int] 情報を取得する地理的位置の識別子。詳細は Table of Geographical Locations を参照。EnumSystemGeoID を呼ぶことで利用可能な値を取得できる。
GeoType : [int] 取得する情報の種別。指定可能な値は SYSGEOTYPE 列挙体で定義される。GeoType の値が GEO_LCID の場合、関数はロケール識別子を取得する。GeoType の値が GEO_RFC1766 の場合、関数は RFC 4646 (Windows Vista) に準拠した文字列名を取得する。詳細は注釈を参照。Windows XP: GeoType に GEO_LCID を指定した場合、取得される文字列は 8 桁の 16 進値である。Windows Me: GeoType に GEO_LCID を指定した場合、取得される文字列は 10 進値である。
lpGeoData : [wstr] 本関数が情報を取得するバッファへのポインタ。
cchData : [int] lpGeoData が示すデータバッファのサイズ。サイズは ANSI 版ではバイト数、Unicode 版ではワード数である。アプリケーションが必要なバッファサイズを取得したい場合、本パラメータを 0 に設定できる。
LangId : [int] Location の値とともに使用される言語の識別子。アプリケーションは GeoType に GEO_RFC1766 または GEO_LCID を指定したうえで、本パラメータを 0 にできる。この設定では、関数は GetUserDefaultLangID を呼んで言語識別子を取得する。注: GeoType が GEO_RFC1766 や GEO_LCID 以外の値である場合、本パラメータは 0 に設定しなければならない。

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

解説

指定した地理的位置に関する情報を取得する。(Unicode)

[戻り値]
成功した場合、出力バッファに取得した地理的位置情報のバイト数 (ANSI) またはワード数 (Unicode) を返す。cchData が
0 の場合、関数は必要なバッファサイズを返す。関数が成功しなかった場合は 0 を返す。拡張エラー情報を取得するには
GetLastError を呼ぶ。次のエラーコードのいずれかが返ることがある。
(以下省略)

[備考]
アプリケーションが GeoType に GEO_RFC1766 を指定する場合、指定する地理的位置識別子に適した言語識別子を LangId
に指定する必要がある。適切な言語とは、ロケール非依存の言語、または指定識別子に対応するロケールを持つ言語である。RFC 4646
(Windows Vista) に準拠する結果文字列はロケール名となる。例えば Location に United States の
0xF4、GeoType に GEO_RFC1766、LangId にロケール非依存英語の 0x09 または英語 (United
States) の 0x409 を指定すると、関数は正常復帰時に "en-US"
を取得する。実際には関数は言語のロケール固有部分を無視する。したがって LangId に英語 (United Kingdom) の
0x809 を指定しても、関数は lpGeoData に "en-US" を書き込む。別の例として、Location に United
States の 0xF4、GeoType に GEO_RFC1766、LangId に中国語の 0x04
を指定した場合、関数は正常復帰時に "zh-US" を取得する。これはサポートされるロケールの名前ではない。アプリケーションが
GeoType に GEO_LCID を指定する場合、関数は言語識別子をロケール識別子 (LCID)
として扱う。指定された地理識別子に何らかの形で関連付けられている場合、ロケール識別子の取得を試みる。
> [!NOTE] > winnls.h ヘッダは、UNICODE プリプロセッサ定数の定義に基づいて本関数の ANSI 版または
Unicode 版を自動選択するエイリアスとして GetGeoInfo
を定義する。エンコード非依存のエイリアスとエンコード依存のコードを混在させると、コンパイル時または実行時のエラーにつながる不一致が発生する可能性がある。詳細は
[Conventions for Function
Prototypes](/windows/win32/intl/conventions-for-function-prototypes)
を参照。

情報

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