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
NLS: Esempio di API basate sui nomi