Condividi tramite


Funzione LocaleNameToLCID (winnls.h)

Converte un nome delle impostazioni locali in un identificatore delle impostazioni locali.

Sintassi

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

Parametri

[in] lpName

Puntatore a una stringa con terminazione Null che rappresenta un nome delle impostazioni locali o uno dei valori predefiniti seguenti.

[in] dwFlags

Prima di Windows 7:Riservati; deve sempre essere 0.

A partire da Windows 7: Può essere impostato su LOCALE_ALLOW_NEUTRAL_NAMES per consentire il ritorno di un LCID neutro.

Valore restituito

In caso di esito positivo, restituisce l'identificatore delle impostazioni locali corrispondente al nome delle impostazioni locali.

Se il nome delle impostazioni locali fornite corrisponde a impostazioni locali personalizzate predefinite per l'utente, questa funzione restituisce LOCALE_CUSTOM_DEFAULT.

Se il nome delle impostazioni locali corrisponde a impostazioni locali personalizzate che non sono l'impostazione predefinita dell'utente, sono impostazioni locali temporanee o sono impostazioni locali CLDR (Unicode Common Locale Data Repository), la funzione restituisce LOCALE_CUSTOM_UNSPECIFIED.

La funzione restituisce 0 se non riesce. Per ottenere informazioni sull'errore estese, l'applicazione può chiamare GetLastError, che può restituire ERROR_INVALID_PARAMETER se uno dei valori dei parametri non è valido.

Commenti

Per le impostazioni locali personalizzate, incluse quelle create da Microsoft, le applicazioni devono preferire i nomi delle impostazioni locali rispetto agli identificatori delle impostazioni locali. Per altre informazioni, vedi Deprecazione di LCID .

A partire da Windows 8: se l'app passa tag di lingua a questa funzione dallo spazio dei nomi Windows.Globalization, deve prima convertire i tag chiamando ResolveLocaleName.

Esempio


#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

*/


Requisiti

Requisito Valore
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione winnls.h (include Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

DownlevelLocaleNameToLCID

NLS: Esempio di API basate sui nomi

Supporto per la lingua nazionale

Funzioni di supporto per il linguaggio nazionale