Función GetGeoInfoA (winnls.h)
[GetGeoInfo está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. En versiones posteriores podría modificarse o no estar disponible. En su lugar, use GetGeoInfoEx.
]
Recupera información sobre una ubicación geográfica especificada.
Sintaxis
int GetGeoInfoA(
[in] GEOID Location,
[in] GEOTYPE GeoType,
[out, optional] LPSTR lpGeoData,
[in] int cchData,
[in] LANGID LangId
);
Parámetros
[in] Location
Identificador de la ubicación geográfica para la que se va a obtener información. Para obtener más información, vea Tabla de ubicaciones geográficas. Puede obtener los valores disponibles llamando a EnumSystemGeoID.
[in] GeoType
Tipo de información que se va a recuperar. Los valores posibles se definen mediante la enumeración SYSGEOTYPE . Si el valor de GeoType es GEO_LCID, la función recupera un identificador de configuración regional. Si el valor de GeoType es GEO_RFC1766, la función recupera un nombre de cadena compatible con RFC 4646 (Windows Vista). Para obtener más información, vea la sección Comentarios.
Windows XP: Cuando GeoType se establece en GEO_LCID, la cadena recuperada es un valor hexadecimal de 8 dígitos.
Windows Me: Cuando GeoType se establece en GEO_LCID, la cadena recuperada es un valor decimal.
[out, optional] lpGeoData
Puntero al búfer en el que esta función recupera la información.
[in] cchData
Tamaño del búfer indicado por lpGeoData. El tamaño es el número de bytes de la versión ANSI de la función o el número de palabras de la versión Unicode. La aplicación puede establecer este parámetro en 0 si la función es devolver el tamaño necesario del búfer.
[in] LangId
Identificador del idioma, que se usa con el valor de Location. La aplicación puede establecer este parámetro en 0, con GEO_RFC1766 o GEO_LCID especificados para GeoType. Esta configuración hace que la función recupere el identificador de idioma mediante una llamada a GetUserDefaultLangID.
Valor devuelto
Devuelve el número de bytes (ANSI) o palabras (Unicode) de la información de ubicación geográfica recuperada en el búfer de salida. Si cchData se establece en 0, la función devuelve el tamaño necesario para el búfer.
La función devuelve 0 si no se realiza correctamente. Para obtener información de error extendida, la aplicación puede llamar a GetLastError, que puede devolver uno de los siguientes códigos de error:
- ERROR_INSUFFICIENT_BUFFER. Un tamaño de búfer proporcionado no era lo suficientemente grande o se estableció incorrectamente en NULL.
- ERROR_INVALID_PARAMETER. Cualquiera de los valores de parámetro no era válido.
Comentarios
Si la aplicación especifica GEO_RFC1766 para GeoType, debe especificar un identificador de idioma para LangId que sea adecuado para el identificador de ubicación geográfica especificado. El idioma adecuado es un idioma independiente de la configuración regional o uno con una configuración regional correspondiente al identificador especificado. La cadena resultante, compatible con RFC 4646 (Windows Vista), constituye un nombre de configuración regional.
Por ejemplo, si Location se especifica como 0xF4 para Estados Unidos, GeoType se especifica como GEO_RFC1766 y LangId se especifica como 0x09 para inglés neutro de configuración regional o 0x409 para inglés (Estados Unidos), la función recupera "en-US" al devolverse correctamente. De hecho, la función omite la parte específica de la configuración regional del lenguaje. Por lo tanto, si la aplicación especifica LangId como 0x809 para inglés (Reino Unido), la función también escribe "en-US" en lpGeoData.
Aquí tenemos otro ejemplo. Si Location se especifica como 0xF4 para Estados Unidos, GeoType se especifica como GEO_RFC1766 y LangId se especifica como 0x04 para chino, la función recupera "zh-US" al devolverse correctamente. Este no es el nombre de una configuración regional admitida.
Si la aplicación especifica GEO_LCID para GeoType, la función trata el identificador de idioma como un identificador de configuración regional (LCID). Intenta devolver el identificador de configuración regional si está asociado al identificador geográfico proporcionado de alguna manera.
Nota
El encabezado winnls.h define GetGeoInfo como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | winnls.h (incluye Windows.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |
Vea también
Compatibilidad con idiomas nacionales