다음을 통해 공유


GetGeoInfoA 함수(winnls.h)

[GetGeoInfo 는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다. 대신 GetGeoInfoEx를 사용합니다.

]

지정된 지리적 위치에 대한 정보를 검색합니다.

구문

int GetGeoInfoA(
  [in]            GEOID   Location,
  [in]            GEOTYPE GeoType,
  [out, optional] LPSTR   lpGeoData,
  [in]            int     cchData,
  [in]            LANGID  LangId
);

매개 변수

[in] Location

정보를 가져올 지리적 위치에 대한 식별자입니다. 자세한 내용은 지리적 위치 표를 참조하세요. EnumSystemGeoID를 호출하여 사용 가능한 값을 얻을 수 있습니다.

[in] GeoType

검색할 정보 유형입니다. 가능한 값은 SYSGEOTYPE 열거형으로 정의됩니다. GeoType 값이 GEO_LCID 경우 함수는 로캘 식별자를 검색합니다. GeoType 값이 GEO_RFC1766 경우 함수는 RFC 4646(Windows Vista)을 준수하는 문자열 이름을 검색합니다. 자세한 내용은 주의 섹션을 참조하세요.

Windows XP:GeoType 이 GEO_LCID 설정되면 검색된 문자열은 8자리 16진수 값입니다.

Windows Me:GeoType 이 GEO_LCID 설정되면 검색된 문자열은 10진수 값입니다.

[out, optional] lpGeoData

이 함수가 정보를 검색하는 버퍼에 대한 포인터입니다.

[in] cchData

lpGeoData로 표시된 버퍼의 크기입니다. 크기는 함수의 ANSI 버전에 대한 바이트 수 또는 유니코드 버전의 단어 수입니다. 함수가 버퍼의 필요한 크기를 반환하는 경우 애플리케이션은 이 매개 변수를 0으로 설정할 수 있습니다.

[in] LangId

위치 값과 함께 사용되는 언어의 식별자입니다. 애플리케이션은 GeoType에 대해 지정된 GEO_RFC1766 또는 GEO_LCID 사용하여 이 매개 변수를 0으로 설정할 수 있습니다. 이 설정으로 인해 함수는 GetUserDefaultLangID를 호출하여 언어 식별자를 검색합니다.

참고GeoType 에 GEO_RFC1766 또는 GEO_LCID 이외의 값이 있는 경우 애플리케이션에서 이 매개 변수를 0으로 설정해야 합니다.
 

반환 값

출력 버퍼에서 검색된 지리적 위치 정보의 바이트 수(ANSI) 또는 단어(유니코드)를 반환합니다. cchData가 0으로 설정된 경우 함수는 버퍼에 필요한 크기를 반환합니다.

함수가 성공하지 못하면 0을 반환합니다. 확장 오류 정보를 가져오기 위해 애플리케이션은 GetLastError를 호출할 수 있으며, 다음 오류 코드 중 하나를 반환할 수 있습니다.

  • ERROR_INSUFFICIENT_BUFFER. 제공된 버퍼 크기가 충분히 크지 않거나 NULL로 잘못 설정되었습니다.
  • ERROR_INVALID_PARAMETER. 매개 변수 값이 잘못되었습니다.

설명

애플리케이션이 GeoType에 대한 GEO_RFC1766 지정하는 경우 지정된 지리적 위치 식별자에 적합한 LangId 의 언어 식별자를 지정해야 합니다. 적절한 언어는 로캘 중립적 언어이거나 지정된 식별자에 해당하는 로캘이 있는 언어입니다. 결과 문자열은 RFC 4646(Windows Vista)을 준수하며 로캘 이름을 구성합니다.

예를 들어 Location이 미국 0xF4 지정되면 GeoType이 GEO_RFC1766 지정되고 LangId가 로캘 중립적 영어의 0x09 또는 영어(미국)의 0x409 지정되면 함수는 성공적으로 반환될 때 "en-US"를 검색합니다. 실제로 함수는 언어의 로캘 특정 부분을 무시합니다. 따라서 애플리케이션이 LangId 를 영어(영국)의 0x809 지정하는 경우 함수는 lpGeoData에도 "en-US"를 씁니다.

또 다른 예를 고려합니다. Location이 미국 0xF4 지정되면 GeoType이 GEO_RFC1766 지정되고 LangId가 중국어에 대한 0x04 지정되면 함수는 성공적으로 반환될 때 "zh-US"를 검색합니다. 지원되는 로캘의 이름이 아닙니다.

애플리케이션이 GeoType에 대한 GEO_LCID 지정하는 경우 함수는 언어 식별자를 LCID(로캘 식별자)로 처리합니다. 제공된 지리적 식별자와 어떤 식으로든 연결된 경우 로캘 식별자를 반환하려고 시도합니다.

참고

winnls.h 헤더는 GETGeoInfo를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 winnls.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

EnumSystemGeoID

GetGeoInfoEx

국가 언어 지원

국가 언어 지원 기능

SYSGEOTYPE