Fonction LocaleNameToLCID (winnls.h)
Convertit un nom de paramètres régionaux en identificateur de paramètres régionaux.
Syntaxe
LCID LocaleNameToLCID(
[in] LPCWSTR lpName,
[in] DWORD dwFlags
);
Paramètres
[in] lpName
Pointeur vers une chaîne terminée par null représentant un nom de paramètres régionaux ou l’une des valeurs prédéfinies suivantes.
[in] dwFlags
Avant Windows 7 :Réservés au; doit toujours être 0.
À compter de Windows 7 : Peut être défini sur LOCALE_ALLOW_NEUTRAL_NAMES pour permettre le retour d’un LCID neutre.
Valeur retournée
En cas de réussite, retourne l’identificateur de paramètres régionaux correspondant au nom des paramètres régionaux.
Si le nom de paramètres régionaux fourni correspond à un paramètre régional personnalisé correspondant à la valeur par défaut de l’utilisateur, cette fonction retourne LOCALE_CUSTOM_DEFAULT.
Si le nom des paramètres régionaux correspond à un paramètre régional personnalisé qui n’est pas la valeur par défaut de l’utilisateur, s’il s’agit d’un paramètre régional temporaire ou d’un CLDR (Unicode Common Locale Data Repository), la fonction retourne LOCALE_CUSTOM_UNSPECIFIED.
La fonction retourne 0 si elle ne réussit pas. Pour obtenir des informations d’erreur étendues, l’application peut appeler GetLastError, qui peut retourner ERROR_INVALID_PARAMETER si l’une des valeurs de paramètre n’est pas valide.
Remarques
Pour les paramètres régionaux personnalisés, y compris ceux créés par Microsoft, vos applications doivent préférer les noms de paramètres régionaux aux identificateurs régionaux. Pour plus d’informations, consultez La dépréciation des LCID .
À partir de Windows 8 : si votre application transmet des balises de langue à cette fonction à partir de l’espace de noms Windows.Globalization, elle doit d’abord convertir les balises en appelant ResolveLocaleName.
Exemples
#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
*/
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | winnls.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |
Voir aussi
NLS : Exemple d’API basées sur le nom