Función GetLocaleInfoEx (winnls.h)
Recupera información sobre una configuración regional especificada por nombre.
Sintaxis
int GetLocaleInfoEx(
[in, optional] LPCWSTR lpLocaleName,
[in] LCTYPE LCType,
[out, optional] LPWSTR lpLCData,
[in] int cchData
);
Parámetros
[in, optional] lpLocaleName
Puntero a un nombre de configuración regional o uno de los siguientes valores predefinidos.
[in] LCType
Información de configuración regional que se va a recuperar. Para obtener los valores posibles, vea la sección "Constantes usadas en el parámetro LCType de GetLocaleInfo, GetLocaleInfoEx y SetLocaleInfo" en Constantes de información regional. Tenga en cuenta que solo se puede especificar un fragmento de información regional por llamada.
La aplicación puede usar el operador OR binario para combinar LOCALE_RETURN_NUMBER con cualquier otra constante permitida. En este caso, la función recupera el valor como un número en lugar de una cadena. El búfer que recibe el valor debe ser al menos la longitud de un valor DWORD, que es 2.
[out, optional] lpLCData
Puntero a un búfer en el que esta función recupera la información de configuración regional solicitada. Este puntero no se usa si cchData está establecido en 0.
[in] cchData
Tamaño, en caracteres, del búfer de datos indicado por lpLCData. Como alternativa, la aplicación puede establecer este parámetro en 0. En este caso, la función no usa el parámetro lpLCData y devuelve el tamaño de búfer necesario, incluido el carácter nulo de terminación.
Valor devuelto
Devuelve el número de caracteres recuperados en el búfer de datos de configuración regional si es correcto y cchData es un valor distinto de cero. Si la función se ejecuta correctamente, cchData es distinto de cero y se especifica LOCALE_RETURN_NUMBER , el valor devuelto es el tamaño del entero recuperado en el búfer de datos, es decir, 2. Si la función se ejecuta correctamente y el valor de cchData es 0, el valor devuelto es el tamaño necesario, en caracteres, incluido un carácter nulo, para el búfer de datos de configuración regional.
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_FLAGS. Los valores proporcionados para las marcas no eran válidos.
- ERROR_INVALID_PARAMETER. Cualquiera de los valores de parámetro no era válido.
Comentarios
Esta función normalmente recupera información en formato de texto. Si la información es un valor numérico y el valor de LCType es LOCALE_ILANGUAGE o LOCALE_IDEFAULTLANGUAGE, esta función recupera cadenas que contienen números hexadecimales. De lo contrario, el texto recuperado para la información numérica es un número decimal.
Existen dos excepciones a esta regla. En primer lugar, la aplicación puede recuperar valores numéricos como enteros especificando LOCALE_RETURN_NUMBER en el parámetro LCType . La segunda excepción es que LOCALE_FONTSIGNATURE se comporta de forma diferente de todas las demás constantes de información regional. La aplicación debe proporcionar un búfer de datos de al menos sizeof(LOCALESIGNATURE). Si la función se devuelve correctamente, el búfer se rellena como una estructura LOCALESIGNATURE .
int ret;
CALID calid;
DWORD value;
ret = GetLocaleInfoEx(LOCALE_NAME_USER_DEFAULT,
LOCALE_ICALENDARTYPE | LOCALE_RETURN_NUMBER,
(LPWSTR)&value,
sizeof(value) / sizeof(WCHAR) );
calid = value;
LOCALESIGNATURE LocSig;
ret = GetLocaleInfoEx(LOCALE_NAME_USER_DEFAULT,
LOCALE_FONTSIGNATURE,
(LPWSTR)&LocSig,
sizeof(LocSig) / sizeof(WCHAR) );
Esta función puede recuperar datos de configuraciones regionales personalizadas. No se garantiza que los datos sean los mismos desde el equipo al equipo o entre ejecuciones de una aplicación. Si la aplicación debe conservar o transmitir datos, consulte Uso de datos de configuración regional persistente.
A partir de Windows 8: si la aplicación pasa etiquetas de idioma a esta función desde el espacio de nombres Windows.Globalization, primero debe convertir las etiquetas mediante una llamada a ResolveLocaleName.
Ejemplos
Ejemplos que muestran el uso de esta función se pueden encontrar en NLS: Ejemplo de API basadas en nombres y NLS: Ejemplo de mitigación de nombres de dominio internacionalizados (IDN).
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 [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
Funciones de compatibilidad con idiomas nacionales
Recuperar y establecer información de configuración regional