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 obtenir les valeurs possibles, consultez la section « Constantes utilisées dans le paramètre LCType de GetLocaleInfo, GetLocaleInfoEx et SetLocaleInfo » dans les constantes d’informations locales. Notez qu’une seule partie des informations de paramètres régionaux peut être spécifiée 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 en tant que nombre au lieu d’une chaîne. La mémoire tampon qui reçoit la valeur doit être au moins la longueur d’une valeur DWORD, qui est 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ées. 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 des paramètres régionaux en cas de réussite et cchData est une valeur non nulle. Si la fonction réussit, cchData n’est pas zéro et LOCALE_RETURN_NUMBER est spécifiée, la valeur de retour est la taille de l’entier récupéré dans la mémoire tampon de données, autrement dit, 2. Si la fonction réussit et que la valeur de cchData est 0, la valeur de retour est la taille requise, en caractères incluant un caractère null, pour la mémoire tampon de données des paramètres régionaux.
La fonction retourne 0 s’il 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 suffisamment grande, ou elle était incorrectement définie sur NULL.
- ERROR_INVALID_FLAGS. Les valeurs fournies pour les indicateurs n’étaient pas valides.
- ERROR_INVALID_PARAMETER. Toutes les valeurs de paramètre n’ont pas été valides.
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 des 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 en tant qu’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 locales. L’application doit fournir une mémoire tampon de données d’au moins sizeof(LOCALIGNATURE) octets. Lors du 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. Les données ne sont pas garanties d’être identiques de l’ordinateur à l’ordinateur 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 montrant 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
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 (include Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |
Voir aussi
Prise en charge nationale de la langue
Fonctions de prise en charge des langues nationales
Récupération et définition des informations de paramètres régionaux