Compartilhar via


Função GetGeoInfoA (winnls.h)

[GetGeoInfo está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele pode estar alterado ou indisponível em versões subsequentes. Em vez disso, use GetGeoInfoEx .

]

Recupera informações sobre uma localização geográfica especificada.

Sintaxe

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

Parâmetros

[in] Location

Identificador da localização geográfica para a qual obter informações. Para obter mais informações, consulte Tabela de Localizações Geográficas. Você pode obter os valores disponíveis chamando EnumSystemGeoID.

[in] GeoType

Tipo de informação a ser recuperada. Os valores possíveis são definidos pela enumeração SYSGEOTYPE . Se o valor de GeoType for GEO_LCID, a função recuperará um identificador de localidade. Se o valor de GeoType for GEO_RFC1766, a função recuperará um nome de cadeia de caracteres compatível com o RFC 4646 (Windows Vista). Para obter mais informações, consulte a seção Comentários.

Windows XP: Quando GeoType é definido como GEO_LCID, a cadeia de caracteres recuperada é um valor hexadecimal de 8 dígitos.

Windows Me: Quando GeoType é definido como GEO_LCID, a cadeia de caracteres recuperada é um valor decimal.

[out, optional] lpGeoData

Ponteiro para o buffer no qual essa função recupera as informações.

[in] cchData

Tamanho do buffer indicado por lpGeoData. O tamanho é o número de bytes para a versão ANSI da função ou o número de palavras para a versão Unicode. O aplicativo pode definir esse parâmetro como 0 se a função quiser retornar o tamanho necessário do buffer.

[in] LangId

Identificador para o idioma, usado com o valor de Location. O aplicativo pode definir esse parâmetro como 0, com GEO_RFC1766 ou GEO_LCID especificados para GeoType. Essa configuração faz com que a função recupere o identificador de idioma chamando GetUserDefaultLangID.

Observação O aplicativo deve definir esse parâmetro como 0 se GeoType tiver qualquer valor diferente de GEO_RFC1766 ou GEO_LCID.
 

Valor de retorno

Retorna o número de bytes (ANSI) ou palavras (Unicode) das informações de localização geográfica recuperadas no buffer de saída. Se cchData for definido como 0, a função retornará o tamanho necessário para o buffer.

A função retornará 0 se não for bem-sucedida. Para obter informações de erro estendidas, o aplicativo pode chamar GetLastError, que pode retornar um dos seguintes códigos de erro:

  • ERROR_INSUFFICIENT_BUFFER. Um tamanho de buffer fornecido não era grande o suficiente ou foi definido incorretamente como NULL.
  • ERROR_INVALID_PARAMETER. Qualquer um dos valores de parâmetro era inválido.

Observações

Se o aplicativo especificar GEO_RFC1766 para GeoType, ele deverá especificar um identificador de idioma para LangId que seja apropriado para o identificador de localização geográfica especificado. O idioma apropriado é uma linguagem neutra em localidade ou uma com uma localidade correspondente ao identificador especificado. A cadeia de caracteres resultante, em conformidade com o RFC 4646 (Windows Vista), constitui um nome de localidade .

Por exemplo, se Location for especificado como 0xF4 para os Estados Unidos, GeoType for especificado como GEO_RFC1766 e LangId for especificado como 0x09 para inglês neutro de localidade ou 0x409 para inglês (Estados Unidos), a função recuperará "en-US" no retorno bem-sucedido. Na verdade, a função ignora a parte específica da localidade do idioma. Portanto, se o aplicativo especifica LangId como 0x809 para inglês (Reino Unido), a função também grava "en-US" para lpGeoData.

Considere outro exemplo. Se de Localização for especificado como 0xF4 para os Estados Unidos, GeoType será especificado como GEO_RFC1766 e LangId será especificado como 0x04 para chinês, a função recuperará "zh-US" no retorno bem-sucedido. Esse não é o nome de uma localidade com suporte.

Se o aplicativo especificar GEO_LCID para GeoType, a função tratará o identificador de idioma como um LCID (identificador de localidade). Ele tenta retornar o identificador de localidade se ele estiver associado ao identificador geográfico fornecido de alguma forma.

Nota

O cabeçalho winnls.h define GetGeoInfo como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [aplicativos da área de trabalho | Aplicativos UWP]
servidor com suporte mínimo Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
da Plataforma de Destino Windows
cabeçalho winnls.h (inclua Windows.h)
biblioteca Kernel32.lib
de DLL Kernel32.dll

Consulte também

EnumSystemGeoID

GetGeoInfoEx

de Suporte à Linguagem Nacional

funções de suporte à linguagem nacional

SYSGEOTYPE