Función LocaleNameToLCID (winnls.h)
Convierte un nombre de configuración regional en un identificador de configuración regional.
Sintaxis
LCID LocaleNameToLCID(
[in] LPCWSTR lpName,
[in] DWORD dwFlags
);
Parámetros
[in] lpName
Puntero a una cadena terminada en null que representa un nombre de configuración regional o uno de los siguientes valores predefinidos.
[in] dwFlags
Antes de Windows 7:Reservados; siempre debe ser 0.
A partir de Windows 7: Se puede establecer en LOCALE_ALLOW_NEUTRAL_NAMES para permitir el retorno de un LCID neutro.
Valor devuelto
Si se ejecuta correctamente, devuelve el identificador de configuración regional correspondiente al nombre de la configuración regional.
Si el nombre de configuración regional proporcionado corresponde a una configuración regional personalizada predeterminada del usuario, esta función devuelve LOCALE_CUSTOM_DEFAULT.
Si el nombre de la configuración regional corresponde a una configuración regional personalizada que no es el valor predeterminado del usuario, es una configuración regional transitoria o es una configuración regional CLDR (Repositorio de datos de configuración regional común Unicode), la función devuelve LOCALE_CUSTOM_UNSPECIFIED.
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 ERROR_INVALID_PARAMETER si alguno de los valores de parámetro no es válido.
Comentarios
En el caso de las configuraciones regionales personalizadas, incluidas las creadas por Microsoft, las aplicaciones deben preferir nombres de configuración regional en lugar de identificadores de configuración regional. Consulta El desuso de los LCID para obtener más información.
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
#include "stdafx.h"
#include "windows.h"
#include "stdio.h"
int _cdecl main(
int argc,
char *argv[])
{
WCHAR strNameBuffer[LOCALE_NAME_MAX_LENGTH];
DWORD error = ERROR_SUCCESS;
LCID lcid;
// Get the name for locale 0x10407 (German (German), with phonebook sort)
if (LCIDToLocaleName(0x10407, strNameBuffer, LOCALE_NAME_MAX_LENGTH, 0) == 0)
{
// There was an error
error = GetLastError();
}
else
{
// Success, display the locale name we found
wprintf(L"Locale Name for 0x10407 is %s\n", strNameBuffer);
}
// Get the LCID for the locale
lcid = LocaleNameToLCID(strNameBuffer, 0);
if (lcid == 0)
{
// There was an error
error = GetLastError();
}
else
{
// Success, print the round trip LCID
wprintf(L"LCID for %s is 0x%x\n", strNameBuffer, lcid);
}
}
/* This code example produces the following output:
Locale Name for 0x10407 is de-DE_phoneb
LCID for de-DE_phoneb is 0x10407
*/
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
NLS: ejemplo de API basadas en nombres