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
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.
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
GetGeoInfoEx
de Suporte à Linguagem Nacional