EnumUILanguagesW, fonction (winnls.h)

Énumère les langues d’interface utilisateur disponibles sur le système d’exploitation et appelle la fonction de rappel avec chaque langue de la liste.

Syntaxe

BOOL EnumUILanguagesW(
  [in] UILANGUAGE_ENUMPROCW lpUILanguageEnumProc,
  [in] DWORD                dwFlags,
  [in] LONG_PTR             lParam
);

Paramètres

[in] lpUILanguageEnumProc

Pointeur vers une fonction de rappel EnumUILanguagesProc définie par l’application. EnumUILanguages appelle cette fonction à plusieurs reprises pour énumérer les langues de la liste.

[in] dwFlags

Indicateurs identifiant le format de langue et le filtrage. Les indicateurs suivants spécifient le format de la langue à passer à la fonction de rappel. Les indicateurs de format s’excluent mutuellement et MUI_LANGUAGE_ID est la valeur par défaut.

Valeur Signification
MUI_LANGUAGE_ID
Passez l’identificateur de langue dans la chaîne de langue à la fonction de rappel.
MUI_LANGUAGE_NAME
Transmettez le nom de la langue dans la chaîne de langue à la fonction de rappel.
 

Les indicateurs suivants spécifient le filtrage de la fonction à utiliser pour énumérer les langues. Les indicateurs de filtrage s’excluent mutuellement et la valeur par défaut est MUI_LICENSED_LANGUAGES.

Valeur Signification
MUI_ALL_INSTALLED_LANGUAGES
Énumérez toutes les langues installées disponibles pour le système d’exploitation.
MUI_LICENSED_LANGUAGES
Énumérez toutes les langues installées qui sont disponibles et sous licence pour utilisation.
MUI_GROUP_POLICY
Énumérer toutes les langues installées qui sont disponibles et sous licence, et qui sont autorisées par

stratégie de groupe.

 

Windows Vista et versions ultérieures : L’application peut définir dwFlags sur 0, ou sur un ou plusieurs des indicateurs spécifiés. Si vous définissez 0, la valeur par défaut du paramètre est MUI_LANGUAGE_ID | MUI_LICENSED_LANGUAGES.

Windows 2000, Windows XP, Windows Server 2003 : L’application doit définir dwFlags sur 0.

[in] lParam

Valeur définie par l’application.

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 peut retourner l’un des codes d’erreur suivants :

  • ERROR_INVALID_FLAGS. Les valeurs fournies pour les indicateurs n’étaient pas valides.
  • ERROR_INVALID_PARAMETER. L’une des valeurs de paramètre n’était pas valide.

Remarques

Cette fonction énumère les langues d’interface utilisateur disponibles et, selon l’indicateur spécifié, sous licence pour une utilisation sur le système d’exploitation. Il transmet les identificateurs de langue ou les noms de langue, un par un, à la fonction de rappel EnumUILanguagesProc . La fonction EnumUILanguages continue de transmettre des identificateurs de langue ou des noms à la fonction de rappel jusqu’à ce que la dernière langue soit trouvée ou que la fonction de rappel retourne FALSE.

Pour les applications qui s’exécutent uniquement sur Windows Vista et versions ultérieures, MUI_LANGUAGE_NAME est recommandé sur MUI_LANGUAGE_ID. MUI_LANGUAGE_NAME permet de différencier les langues associées à des paramètres régionaux supplémentaires.

Si l’indicateur MUI_LANGUAGE_ID est spécifié dans l’appel à cette fonction, les chaînes sont passées au rappel

la fonction sera des identificateurs de langue hexadécimale qui n’incluent pas le 0x de début et sera 4

caractères de longueur. Par exemple, en-US sera passé comme « 0409 » et en comme « 0009 ». La valeur « 1000 » est passée à la fonction de rappel pour toute langue associée à des paramètres régionaux supplémentaires. Cette valeur correspond à la valeur hexadécimale de LOCALE_CUSTOM_UNSPECIFIED. Il ne fait pas de distinction entre les paramètres régionaux supplémentaires, même si la langue sélectionnée figure dans la liste des langues d’interface utilisateur préférées de l’utilisateur ou dans la liste des langues d’interface utilisateur préférées du système.

C# Signature

[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
        static extern System.Boolean EnumUILanguages(
            EnumUILanguagesProc lpUILanguageEnumProc,
            System.UInt32 dwFlags,
            System.IntPtr lParam
            );

Notes

L’en-tête winnls.h définit EnumUILanguages en tant qu’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. La combinaison 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête winnls.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

EnumUILanguagesProc

GetSystemDefaultUILanguage

GetUserDefaultUILanguage

Interface utilisateur multilingue

Fonctions d’interface utilisateur multilingues