GetLocaleInfoEx, fonction (winnls.h)
Récupère des informations sur les paramètres régionaux spécifiés par nom.
Syntaxe
int GetLocaleInfoEx(
[in, optional] LPCWSTR lpLocaleName,
[in] LCTYPE LCType,
[out, optional] LPWSTR lpLCData,
[in] int cchData
);
Paramètres
[in, optional] lpLocaleName
Pointeur vers un nom de paramètres régionaux ou l’une des valeurs prédéfinies suivantes.
[in] LCType
Informations de paramètres régionaux à récupérer. Pour connaître les valeurs possibles, consultez la section « Constantes utilisées dans le paramètre LCType de GetLocaleInfo, GetLocaleInfoEx et SetLocaleInfo » dans Constantes d’informations locales. Notez qu’un seul élément d’informations de paramètres régionaux peut être spécifié par appel.
L’application peut utiliser l’opérateur OR binaire pour combiner LOCALE_RETURN_NUMBER avec n’importe quelle autre constante autorisée. Dans ce cas, la fonction récupère la valeur sous forme de nombre au lieu d’une chaîne. La mémoire tampon qui reçoit la valeur doit avoir au moins la longueur d’une valeur DWORD, soit 2.
[out, optional] lpLCData
Pointeur vers une mémoire tampon dans laquelle cette fonction récupère les informations de paramètres régionaux demandés. Ce pointeur n’est pas utilisé si cchData est défini sur 0.
[in] cchData
Taille, en caractères, de la mémoire tampon de données indiquée par lpLCData. L’application peut également définir ce paramètre sur 0. Dans ce cas, la fonction n’utilise pas le paramètre lpLCData et retourne la taille de mémoire tampon requise, y compris le caractère null de fin.
Valeur retournée
Retourne le nombre de caractères récupérés dans la mémoire tampon de données de paramètres régionaux si la valeur est réussie et si cchData est une valeur différente de zéro. Si la fonction réussit, cchData est différent de zéro et LOCALE_RETURN_NUMBER est spécifié, la valeur de retour correspond à la taille de l’entier récupéré dans la mémoire tampon de données, c’est-à-dire 2. Si la fonction réussit et que la valeur de cchData est 0, la valeur renvoyée correspond à la taille requise, en caractères y compris un caractère null, pour la mémoire tampon de données des paramètres régionaux.
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 l’un des codes d’erreur suivants :
- ERROR_INSUFFICIENT_BUFFER. Une taille de mémoire tampon fournie n’était pas assez grande ou elle a été incorrectement définie sur NULL.
- ERROR_INVALID_FLAGS. Les valeurs fournies pour les indicateurs n’étaient pas valides.
- ERROR_INVALID_PARAMETER. L’une des valeurs de paramètre n’était pas valide.
Remarques
Cette fonction récupère normalement des informations au format texte. Si les informations sont une valeur numérique et que la valeur de LCType est LOCALE_ILANGUAGE ou LOCALE_IDEFAULTLANGUAGE, cette fonction récupère les chaînes contenant des nombres hexadécimaux. Sinon, le texte récupéré pour les informations numériques est un nombre décimal.
Il existe deux exceptions à cette règle. Tout d’abord, l’application peut récupérer des valeurs numériques sous forme d’entiers en spécifiant LOCALE_RETURN_NUMBER dans le paramètre LCType . La deuxième exception est que LOCALE_FONTSIGNATURE se comporte différemment de toutes les autres constantes d’informations de paramètres régionaux. L’application doit fournir une mémoire tampon de données d’au moins taille d’octets (LOCALESIGNATURE). Une fois le retour réussi de la fonction, la mémoire tampon est remplie en tant que structure LOCALEIGNATURE .
int ret;
CALID calid;
DWORD value;
ret = GetLocaleInfoEx(LOCALE_NAME_USER_DEFAULT,
LOCALE_ICALENDARTYPE | LOCALE_RETURN_NUMBER,
(LPWSTR)&value,
sizeof(value) / sizeof(WCHAR) );
calid = value;
LOCALESIGNATURE LocSig;
ret = GetLocaleInfoEx(LOCALE_NAME_USER_DEFAULT,
LOCALE_FONTSIGNATURE,
(LPWSTR)&LocSig,
sizeof(LocSig) / sizeof(WCHAR) );
Cette fonction peut récupérer des données à partir de paramètres régionaux personnalisés. Il n’est pas garanti que les données soient identiques d’un ordinateur à l’autre ou entre les exécutions d’une application. Si votre application doit conserver ou transmettre des données, consultez Utilisation des données de paramètres régionaux persistants.
À compter 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
Vous trouverez des exemples illustrant l’utilisation de cette fonction dans NLS : Exemple d’API basées sur le nom et NLS : Exemple d’atténuation IDN (Internationalized Domain Name).
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
Prise en charge des langues nationales
Fonctions de prise en charge des langues nationales
Récupération et définition des informations de paramètres régionaux