Fonction SetLocaleInfoA (winnls.h)

Définit un élément d’informations dans la partie de remplacement utilisateur des paramètres régionaux actuels. Cette fonction ne définit pas les valeurs par défaut du système.

Attention Étant donné que cette fonction modifie les valeurs de toutes les applications, elle doit être appelée uniquement par la fonctionnalité d’options régionales et linguistiques de Panneau de configuration, ou par un utilitaire similaire. Si vous apportez une modification internationale aux paramètres système, l’application appelante doit diffuser le message WM_SETTINGCHANGE pour éviter d’entraîner des instabilités dans d’autres applications.
 

Syntaxe

BOOL SetLocaleInfoA(
  [in] LCID   Locale,
  [in] LCTYPE LCType,
  [in] LPCSTR lpLCData
);

Paramètres

[in] Locale

Pour la version ANSI de la fonction, identificateur de paramètres régionaux avec la page de code utilisée lors de l’interprétation des informations lpLCData . Pour la version Unicode, ce paramètre est ignoré.

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.

Les identificateurs de paramètres régionaux personnalisés suivants sont également pris en charge.

[in] LCType

Type d’informations de paramètres régionaux à définir. Pour connaître les constantes valides, consultez la section « Constantes utilisées dans le paramètre LCType de GetLocaleInfo, GetLocaleInfoEx et SetLocaleInfo » de Constantes d’informations locales. L’application ne peut spécifier qu’une seule valeur par appel, mais elle peut utiliser l’opérateur binaire OR pour combiner LOCALE_USE_CP_ACP avec n’importe quelle autre constante.

[in] lpLCData

Pointeur vers une chaîne terminée par null contenant les informations de paramètres régionaux à définir. Les informations doivent être au format spécifique à la constante spécifiée. L’application utilise une chaîne Unicode pour la version Unicode de la fonction et une chaîne ANSI pour la version ANSI.

Valeur retournée

Retourne une valeur différente de zéro en cas de réussite, ou 0 dans le cas contraire. Pour obtenir des informations d’erreur étendues, l’application peut appeler GetLastError, qui peut retourner l’un des codes d’erreur suivants :

  • ERROR_ACCESS_DISABLED_BY_POLICY. La stratégie de groupe de l’ordinateur ou de l’utilisateur a interdit cette opération.
  • ERROR_INVALID_ACCESS. Le code d’accès n’était pas valide.
  • 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 écrit dans le Registre, où elle définit des valeurs associées à un utilisateur particulier au lieu d’une application particulière. Ces valeurs de Registre affectent le comportement d’autres applications exécutées par l’utilisateur. En règle générale, une application doit appeler cette fonction uniquement lorsque l’utilisateur a explicitement demandé les modifications. Les paramètres du Registre ne doivent pas être modifiés pour la commodité d’une seule application.

Pour le paramètre LCType , l’application doit définir LOCALE_USE_CP_ACP pour utiliser la page de code ANSI du système d’exploitation au lieu de la page de code des paramètres régionaux pour la traduction de chaînes.

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 code système. Toutefois, les caractères non définis dans la page de code système apparaissent dans la chaîne sous forme de point d’interrogation ( ?).

À partir de Windows Vista, les constantes LOCALE_SDATE et LOCALE_STIME sont obsolètes. N’utilisez pas ces constantes. Utilisez LOCALE_SSHORTDATE et LOCALE_STIMEFORMAT à la place. Un paramètre régional personnalisé peut ne pas avoir un seul caractère de séparateur uniforme au format de date ou d’heure : par exemple, un format tel que « 31/12/2006 » ou « 03 :56'23 » peut être valide.

Notes

L’en-tête winnls.h définit SetLocaleInfo comme un 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. Le mélange 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

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winnls.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

GetLocaleInfo

Prise en charge des langues nationales

Fonctions de prise en charge des langues nationales