GetGeoInfoEx 函式 (winnls.h)

擷取您使用兩個字母國際標準化組織 (ISO) 3166-1 代碼或數位 United United Organization (UN) Series M、Number 49 (M.49) code 指定之地理位置的相關信息。

語法

int GetGeoInfoEx(
  [in]            PWSTR   location,
  [in]            GEOTYPE geoType,
  [out, optional] PWSTR   geoData,
  [in]            int     geoDataCount
);

參數

[in] location

要取得資訊的地理位置的雙字母 ISO 3166-1 或數值 UN M.49 代碼。 若要取得操作系統上可用的程序代碼,請呼叫 EnumSystemGeoNames

[in] geoType

您想要擷取的信息類型。 可能的值是由 SSGEOTYPE 列舉所定義。 SYSGEOTYPE 列舉的下列值不應該與 GetGeoInfoEx 搭配使用:

  • GEO_ID

    提供這個值的目的,是為了與舊版相容。 請勿在新應用程式中使用此值,但請改用 GEO_NAME

  • GEO_LCID

    GetGeoInfoEx 函式不支援此值。

  • GEO_NATION

    GetGeoInfoEx 函式不支援此值。

  • GEO_RFC1766

    GetGeoInfoEx 函式不支援此值。

[out, optional] geoData

GetGeoInfoEx 應該寫入要求信息的緩衝區指標。

[in] geoDataCount

GeoData 參數指向的緩衝區大小,以字元為單位。 將此參數設定為 0,以指定函式只應該傳回儲存要求資訊所需的緩衝區大小,而不需要將要求的資訊寫入緩衝區。

傳回值

函式寫入輸出緩衝區的地理位置資訊位元組數目。 如果 geoDataCount 為 0,函式會傳回保存資訊所需的緩衝區大小,而不需要將資訊寫入緩衝區。

0 表示函式未成功。 若要取得擴充錯誤資訊,請呼叫 GetLastError,以傳回下列其中一個錯誤碼:

傳回碼 Description
ERROR_INSUFFICIENT_BUFFER
提供的緩衝區大小不夠大,或設定為 NULL 不正確。
ERROR_INVALID_PARAMETER
參數值無效。
ERROR_INVALID_FLAGS
為旗標的值無效。

備註

如需兩個字母 ISO 3166-1 代碼的相關信息,請參閱 國家/地區代碼 - ISO 3166。 如需數值 UN M.49 代碼的相關信息,請參閱 標準國家或地區代碼,以用於統計用途 (M49)

規格需求

需求
最低支援的用戶端 Windows 10 版本 1709 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2016 [僅限傳統型應用程式]
目標平台 Windows
標頭 winnls.h
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

EnumSystemGeoNames

GetGeoInfo

國家語言支援

國家語言支援函式

SYSGEOTYPE