Função LocaleNameToLCID (winnls.h)

Converte um nome de localidade em um identificador de localidade.

Sintaxe

LCID LocaleNameToLCID(
  [in] LPCWSTR lpName,
  [in] DWORD   dwFlags
);

Parâmetros

[in] lpName

Ponteiro para uma cadeia de caracteres terminada em nulo que representa um nome de localidade ou um dos valores predefinidos a seguir.

[in] dwFlags

Antes do Windows 7:Reservados; deve ser sempre 0.

A partir do Windows 7: Pode ser definido como LOCALE_ALLOW_NEUTRAL_NAMES para permitir o retorno de um LCID neutro.

Retornar valor

Se tiver êxito, retornará o identificador de localidade correspondente ao nome da localidade.

Se o nome de localidade fornecido corresponder a uma localidade personalizada que é o padrão do usuário, essa função retornará LOCALE_CUSTOM_DEFAULT.

Se o nome da localidade corresponder a uma localidade personalizada que não é o padrão do usuário, for uma localidade transitória ou for uma localidade CLDR (Repositório de Dados de Localidade Comum Unicode), a função retornará LOCALE_CUSTOM_UNSPECIFIED.

A função retornará 0 se não for bem-sucedida. Para obter informações de erro estendidas, o aplicativo pode chamar GetLastError, que pode retornar ERROR_INVALID_PARAMETER se qualquer um dos valores de parâmetro for inválido.

Comentários

Para localidades personalizadas, incluindo aquelas criadas pela Microsoft, seus aplicativos devem preferir nomes de localidade em vez de identificadores de localidade. Consulte A substituição de LCIDs para obter mais informações.

Começando no Windows 8: se o aplicativo passar marcas de idioma para essa função do namespace Windows.Globalization, ele deverá primeiro converter as marcas chamando ResolveLocaleName.

Exemplos


#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 Valor
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho winnls.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

DownlevelLocaleNameToLCID

NLS: exemplo de APIs baseadas em nome

Suporte a idiomas nacionais

Funções de suporte à linguagem nacional