GetThreadPreferredUILanguages, fonction (winnls.h)
Récupère les langues d’interface utilisateur préférées du thread actuel. Pour plus d’informations, consultez Gestion des langues de l’interface utilisateur.
Syntaxe
BOOL GetThreadPreferredUILanguages(
[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 les langues d’interface utilisateur préférées du thread. 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 . |
Les indicateurs suivants spécifient le filtrage de la fonction à utiliser pour récupérer les langues d’interface utilisateur préférées des threads. L’indicateur par défaut est MUI_MERGE_USER_FALLBACK.
[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 ordonnée et délimitée par des langages d’interface utilisateur préférés de thread, 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 GetLastError, qui retourne 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 paramètres pulNumLanguages et pcchLanguagesBuffer ne sont pas définis.
Remarques
Selon les indicateurs spécifiés par l’application, cette fonction peut récupérer une liste composite composée des langues d’interface utilisateur préférées des threads, du traitement des langues d’interface utilisateur préférées, des langues d’interface utilisateur préférées de l’utilisateur ou des langues d’interface utilisateur préférées du système, ainsi que de la langue d’interface utilisateur par défaut du système. Si elle rencontre une langue en double, la fonction récupère uniquement la première langue.
Si l’application a appelé SetThreadPreferredUILanguages avec l’indicateur MUI_CONSOLE_FILTER ou MUI_COMPLEX_SCRIPT_FILTER, GetThreadPreferredUILanguages filtre les langues dans la liste des résultats. La fonction remplace les langues que la console ne peut pas afficher par une langue de remplacement. La substitution d’une langue est déterminée à partir de la valeur de LOCALE_SCONSOLEFALLBACKNAME pour la langue. Pour plus d’informations sur la console, consultez la description de SetThreadUILanguage.
L’utilisation de MUI_LANGUAGE_NAME est recommandée par rapport à MUI_LANGUAGE_ID, car l’indicateur MUI_LANGUAGE_NAME peut mieux gérer les langues Module linguistique LIP (LIP) qui correspondent à des paramètres régionaux supplémentaires.
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 sera retourné
as « 0409 » et en as « 0009 ».
Si l’application définit l’indicateur MUI_LANGUAGE_ID, les langues d’interface utilisateur préférées du thread peuvent inclure une ou plusieurs langues qui correspondent à des paramètres régionaux supplémentaires. En cas de retour réussi de la fonction, la mémoire tampon de langue contient « 1400 » pour toute langue correspondant à des paramètres régionaux supplémentaires. Il ne peut y avoir qu’une seule langue de ce type dans cette liste. La chaîne « 1400 » correspond à la valeur hexadécimale de LOCALE_CUSTOM_UI_DEFAULT. En cas également de retour réussi de la fonction, pwszLanguagesBuffer contient « 1000 » pour toute autre langue qui correspond à un paramètre régional supplémentaire. La chaîne « 1000 » correspond à la valeur hexadécimale de LOCALE_CUSTOM_UNSPECIFIED, qui n’est pas utile en tant qu’entrée d’une fonction, car elle ne peut pas faire la distinction entre les paramètres régionaux supplémentaires.
C# Signature
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
static extern System.Boolean GetThreadPreferredUILanguages(
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