Função GetGeoInfoA (winnls.h)
[GetGeoInfo está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele poderá ser alterado ou ficar 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 em conformidade com 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 deve 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.
Retornar valor
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 estiver 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.
Comentários
Se o aplicativo especificar GEO_RFC1766 para GeoType, ele deverá especificar um identificador de linguagem para LangId 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 Estados Unidos, GeoType será especificado como GEO_RFC1766 e LangId for especificado como 0x09 para inglês neutro local 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 especificar LangId como 0x809 para inglês (Reino Unido), a função também gravará "en-US" em lpGeoData.
Considere outro exemplo. Se Location for especificado como 0xF4 para Estados Unidos, GeoType será especificado como GEO_RFC1766 e LangId for 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 linguagem como um LCID (identificador de localidade). Ele tentará retornar o identificador de localidade se ele estiver associado ao identificador geográfico fornecido de alguma forma.
Observação
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 de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [aplicativos da área de trabalho | aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | winnls.h (inclua Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |