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 |
---|---|
|
Récupérez les chaînes de langue au format d’identificateur de langue . |
|
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.
[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 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
Interface utilisateur multilingue