GetSystemPreferredUILanguages, fonction (winnls.h)

Récupère les langues d’interface utilisateur préférées du système. Pour plus d’informations, consultez Gestion des langues de l’interface utilisateur.

Syntaxe

BOOL GetSystemPreferredUILanguages(
  [in]            DWORD   dwFlags,
  [out]           PULONG  pulNumLanguages,
  [out, optional] PZZWSTR pwszLanguagesBuffer,
  [in, out]       PULONG  pcchLanguagesBuffer
);

Paramètres

[in] dwFlags

Indicateurs identifiant le format de langue et le filtrage. Les indicateurs suivants spécifient le format à utiliser pour les langues d’interface utilisateur préférées du système. Les indicateurs s’excluent mutuellement et la valeur par défaut est MUI_LANGUAGE_NAME.

Valeur Signification
MUI_LANGUAGE_ID
Récupérez les chaînes de langue au format d’identificateur de langue .
MUI_LANGUAGE_NAME
Récupérez les chaînes de langue au format de nom de langue .
 

L’indicateur suivant spécifie si la fonction doit valider la liste des langues (par défaut) ou récupérer la liste des langues d’interface utilisateur préférées du système exactement telle qu’elle est stockée dans le Registre.

Valeur Signification
MUI_MACHINE_LANGUAGE_SETTINGS
Récupérez la liste des langues d’interface utilisateur préférées du système stocké, en vérifiant uniquement que chaque nom de langue correspond à des paramètres régionaux NLS valides. Si cet indicateur n’est pas défini, la fonction récupère les langues d’interface utilisateur préférées du système dans pwszLanguagesBuffer, tant que la liste n’est pas vide et répond aux critères de validation. Sinon, la fonction récupère la langue d’interface utilisateur par défaut du système dans la mémoire tampon de langue.

[out] pulNumLanguages

Pointeur vers le nombre de langues récupérées dans pwszLanguagesBuffer.

[out, optional] pwszLanguagesBuffer

facultatif. Pointeur vers une mémoire tampon dans laquelle cette fonction récupère une liste de langages d’interface utilisateur préférés du système, délimitée par null, au format spécifié par dwFlags. Cette liste se termine par deux caractères null.

Si ce paramètre a la valeur NULL et que pcchLanguagesBuffer a la valeur 0, la fonction récupère la taille requise de la mémoire tampon de langue dans pcchLanguagesBuffer. La taille requise inclut les deux caractères Null

[in, out] pcchLanguagesBuffer

Pointeur vers la taille, en caractères, pour la mémoire tampon de langue indiquée par pwszLanguagesBuffer. En cas de retour réussi à partir de la fonction, le paramètre contient la taille de la mémoire tampon de langue récupérée.

Si ce paramètre a la valeur 0 et que pwszLanguagesBuffer a la valeur NULL, la fonction récupère la taille requise de la mémoire tampon de langue dans pcchLanguagesBuffer.

Valeur retournée

Retourne TRUE si elle réussit ou FALSE 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_INSUFFICIENT_BUFFER. Une taille de mémoire tampon fournie n’était pas assez grande ou elle a été incorrectement définie sur NULL.

Si la fonction échoue pour une autre raison, les paramètres pulNumLanguages et pcchLanguagesBuffer ne sont pas définis.

Remarques

Lorsque MUI_LANGUAGE_ID est spécifié, les chaînes de langue récupérées sont des identificateurs de langue hexadécimaux

qui n’incluent pas le 0x de début et auront une longueur de 4 caractères. Par exemple, en-US sera retourné

en tant que « 0409 » et en comme « 0009 ».

Les langues d’interface utilisateur préférées du système ne peuvent pas inclure plusieurs langues Module linguistique LIP (LIP) qui correspondent à des paramètres régionaux supplémentaires. Si la liste inclut plusieurs de ces langues et si l’application spécifie MUI_LANGUAGE_ID dans l’appel à la fonction, la mémoire tampon de langue contient « 1400 » pour cette langue. Cette chaîne correspond à la valeur hexadécimale de LOCALE_CUSTOM_UI_DEFAULT.

Si l’indicateur MUI_MACHINE_LANGUAGE_SETTINGS est défini, cette fonction vérifie chaque langue de la liste qui représente des paramètres régionaux NLS valides. La liste récupérée peut contenir les éléments suivants :

  • Langues non installées sur le système
  • Entrées de langue en double
  • Chaîne vide
Si l’indicateur MUI_MACHINE_LANGUAGE_SETTINGS est défini et que la liste des langues d’interface utilisateur préférées du système est vide, la fonction récupère une chaîne vide dans la mémoire tampon de langue (deux caractères null, car il s’agit d’une mémoire tampon multistring), 0 pour le nombre de langues et 2 pour la taille de la mémoire tampon.

Si l’indicateur MUI_MACHINE_LANGUAGE_SETTINGS n’est pas défini, la liste de langues récupérée présente les caractéristiques suivantes :

  • Chaque langue représente des paramètres régionaux NLS valides.
  • Chaque langue est installée sur le système d’exploitation.
  • La liste contient une entrée pour chaque langue, sans entrées en double.

C# Signature

[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
        static extern System.Boolean GetSystemPreferredUILanguages(
            System.UInt32 dwFlags,
            ref System.UInt32 pulNumLanguages,
            System.IntPtr pwszLanguagesBuffer,
            ref System.UInt32 pcchLanguagesBuffer
            );

Configuration requise

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

Voir aussi

GetSystemDefaultUILanguage

GetThreadPreferredUILanguages

GetThreadUILanguage

GetUserPreferredUILanguages

Interface utilisateur multilingue

Fonctions d’interface utilisateur multilingues

SetThreadPreferredUILanguages