GetLocaleInfoA, fonction (winnls.h)

Récupère des informations sur les paramètres régionaux spécifiés par l’identificateur.

Note Pour des raisons d’interopérabilité, l’application doit préférer la fonction GetLocaleInfoEx à GetLocaleInfo , car Microsoft migre vers l’utilisation de noms de paramètres régionaux au lieu d’identificateurs régionaux pour les nouveaux paramètres régionaux. Toute application qui s’exécute uniquement sur Windows Vista et versions ultérieures doit utiliser GetLocaleInfoEx.
Note Pour une compatibilité globale, l’application doit préférer les formulaires d’API Unicode « W » aux formulaires « A ». GetLocaleInfoA limite les données de caractères et peut entraîner des résultats qui semblent endommagés pour les utilisateurs, en particulier dans les applications globalement activées. Pour cette API, GetLocaleInfoEx est préféré, car il s’agit d’Unicode et prend également en charge les normes de nom de paramètres régionaux modernes.
 

Syntaxe

int GetLocaleInfoA(
  [in]            LCID   Locale,
  [in]            LCTYPE LCType,
  [out, optional] LPSTR  lpLCData,
  [in]            int    cchData
);

Paramètres

[in] Locale

Identificateur de paramètres régionaux pour lesquels récupérer des informations. Vous pouvez utiliser la macro MAKELCID pour créer un identificateur de paramètres régionaux ou utiliser l’une des valeurs prédéfinies suivantes.

[in] LCType

Informations de paramètres régionaux à récupérer. Pour obtenir des définitions détaillées, consultez le paramètre LCType de GetLocaleInfoEx.

Note Pour GetLocaleInfo, la valeur LOCALE_USE_CP_ACP concerne uniquement la version ANSI.
 

[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. Pour plus d'informations, consultez la section Notes.

[in] cchData

Taille, en valeurs TCHAR, 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 des données de paramètres régionaux en cas de réussite 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 est la taille de l’entier récupéré dans la mémoire tampon de données ; c’est-à-dire 2 pour la version Unicode de la fonction ou 4 pour la version ANSI. Si la fonction réussit et que la valeur de cchData est 0, la valeur de retour correspond à 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 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 suffisamment grande ou 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

Pour le fonctionnement de cette fonction, consultez Remarques pour GetLocaleInfoEx.

Note Même lorsque le paramètre LCType est spécifié en tant que LOCALE_FONTSIGNATURE, cchData et la fonction retournée sont toujours des nombres TCHAR. Le nombre est différent pour les versions ANSI et Unicode de la fonction. Lorsqu’une application appelle la version générique de GetLocaleInfo avec LOCALE_FONTSIGNATURE, cchData peut être spécifié en toute sécurité en tant que sizeof(LOCALESIGNATURE) / sizeof(TCHAR).
 
Les exemples suivants traitent correctement la taille de la mémoire tampon pour les valeurs non textuelles :
int   ret;
CALID calid;
DWORD value;

ret = GetLocaleInfo(LOCALE_USER_DEFAULT,
                    LOCALE_ICALENDARTYPE | LOCALE_RETURN_NUMBER,
                    (LPTSTR)&value,
                    sizeof(value) / sizeof(TCHAR) );
calid = value;

LOCALESIGNATURE LocSig;

ret = GetLocaleInfo(LOCALE_USER_DEFAULT,
                    LOCALE_FONTSIGNATURE,
                    (LPWSTR)&LocSig,
                    sizeof(LocSig) / sizeof(TCHAR) );

La chaîne ANSI récupérée par la version ANSI de cette fonction est traduite d’Unicode en ANSI en fonction de la page de codes ANSI par défaut pour l’identificateur de paramètres régionaux. Toutefois, si LOCALE_USE_CP_ACP est spécifié, la traduction est basée sur la page de codes ANSI par défaut du système.

Lorsque la version ANSI de cette fonction est utilisée avec un identificateur de paramètres régionaux Unicode uniquement, la fonction peut réussir, car le système d’exploitation utilise la page de codes système. Toutefois, les caractères qui ne sont pas définis dans la page de codes système apparaissent dans la chaîne sous la forme d’un point d’interrogation (?).

Notes

L’en-tête winnls.h définit GetLocaleInfo en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [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

GetLocaleInfoEx

GetSystemDefaultLCID

GetUserDefaultLCID

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

SetLocaleInfo