SetLocaleInfoA, fonction (winnls.h)
Définit un élément d’informations dans la partie remplacer par l’utilisateur des paramètres régionaux actuels. Cette fonction ne définit pas les valeurs par défaut du système.
Syntaxe
BOOL SetLocaleInfoA(
[in] LCID Locale,
[in] LCTYPE LCType,
[in] LPCSTR lpLCData
);
Paramètres
[in] Locale
Pour la version ANSI de la fonction, l’identificateur de paramètres régionaux des paramètres régionaux avec la page de codes 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
[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 OR binaire 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 de retour
Retourne une valeur différente de zéro si elle réussit ou 0 sinon. 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’est 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 demandé explicitement 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 codes ANSI du système d’exploitation au lieu de la page de codes 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 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 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. Les paramètres régionaux personnalisés peuvent ne pas avoir de caractère de séparation uniforme unique dans le format de date ou d’heure : par exemple, un format tel que « 12/31, 2006 » ou « 03:56'23 » peut être valide.
Note
L’en-tête winnls.h définit SetLocaleInfo comme 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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
serveur minimum pris en charge | Windows 2000 Server [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | winnls.h (include Windows.h) |
bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |