Partager via


GetUserPreferredUILanguages, fonction (winnls.h)

Récupère des informations sur le paramètre de langue d’affichage. Pour plus d’informations, consultez Gestion des langues de l’interface utilisateur.

Syntaxe

BOOL GetUserPreferredUILanguages(
  [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 de langue à utiliser pour la liste des langues d’affichage. Les indicateurs s’excluent mutuellement et la valeur par défaut est MUI_LANGUAGE_NAME.

Valeur Signification
MUI_LANGUAGE_ID Récupérer les chaînes de langue dans l’identificateur de langue
MUI_LANGUAGE_NAME Récupérez les chaînes de langue au format de nom 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 langues d’affichage ordonnée et délimitée par null, au format spécifié par dwflags. Cette liste se termine par deux caractères Null.

Si ce paramètre est défini sur 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, de la mémoire tampon de langue indiquée par pwszLanguagesBuffer. En cas de retour réussi de la fonction, le paramètre contient la taille de la mémoire tampon de langue récupérée.

Si ce paramètre est défini sur 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 en cas de réussite ou FALSE dans le cas contraire. Pour obtenir des informations d’erreur étendues, l’application peut appeler la fonction 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.

Si la fonction échoue pour une autre raison, les valeurs de pulNumLanguages et pcchLanguagesBuffer ne sont pas définies.

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 ont une longueur de 4 caractères. Par exemple, en-US est retourné sous la forme « 0409 » et en comme « 0009 ».

La langue d’affichage ne peut pas inclure plusieurs langues Pack linguistique LIP (Language Interface Pack) (LIP) correspondant à 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.

La liste des langues récupérée par cette fonction 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.
  • Si la liste est vide ou ne répond pas à ces critères de validation, la liste des langues d’interface utilisateur préférées du système est utilisée à la place.

C# Signature

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

Configuration requise

Condition requise Valeur
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

GetSystemPreferredUILanguages, getThreadPreferredUILanguages, getThreadUILanguage, fonctionSetThreadPreferredUILanguages, interface utilisateur multilingue, fonctions d’interface utilisateur multilingue