Compartir a través de


Función GetGeoInfoA (winnls.h)

[ GetGeoInfo está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. Puede modificarse o no estar disponible en versiones posteriores. 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 devuelve el tamaño necesario del búfer.

[in] LangId

Identificador del idioma, usado con el valor de Ubicación. 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 llamando a GetUserDefaultLangID.

Nota La aplicación debe establecer este parámetro en 0 si GeoType tiene cualquier valor distinto de GEO_RFC1766 o GEO_LCID.
 

Valor devuelto

Devuelve el número de bytes (ANSI) o palabras (Unicode) de 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.

Observaciones

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 se especifica Location como 0xF4 para Estados Unidos, se especifica GeoType 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.

Considere 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 devolver 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 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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP [aplicaciones de escritorio | Aplicaciones para UWP]
servidor mínimo admitido Windows Server 2003 [aplicaciones de escritorio | Aplicaciones para UWP]
de la plataforma de destino de Windows
encabezado de winnls.h (incluya Windows.h)
biblioteca de Kernel32.lib
DLL de Kernel32.dll

Consulte también

enumSystemGeoID

GetGeoInfoEx

de compatibilidad con idiomas nacionales

funciones de compatibilidad con idiomas nacionales

SYSGEOTYPE