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

DownlevelLocaleNameToLCID

NLS: ejemplo de API basadas en nombres

Compatibilidad con idiomas nacionales

Funciones de compatibilidad con idiomas nacionales