Fonction EnumResourceLanguagesExW (libloaderapi.h)
Énumère les ressources spécifiques au langage, du type et du nom spécifiés, associées à un module binaire spécifié. Étend EnumResourceLanguages en autorisant davantage de contrôle sur l’énumération.
Syntaxe
BOOL EnumResourceLanguagesExW(
[in] HMODULE hModule,
[in] LPCWSTR lpType,
[in] LPCWSTR lpName,
[in] ENUMRESLANGPROCW lpEnumFunc,
[in] LONG_PTR lParam,
[in] DWORD dwFlags,
[in] LANGID LangId
);
Paramètres
[in] hModule
Type : HMODULE
Handle d’un module à rechercher. En règle générale, il s’agit d’un fichier exécutable portable (fichier LN) non linguistique et, si l’indicateur RESOURCE_ENUM_MUI est défini, les fichiers .mui appropriés sont inclus dans la recherche. Il peut également s’agir d’un handle vers un fichier .mui ou un autre fichier LN. S’il s’agit d’un fichier .mui spécifique, seul ce fichier est recherché pour les ressources.
Si ce paramètre a la valeur NULL, cela équivaut à passer un handle au module utilisé pour créer le processus actuel.
[in] lpType
Type : LPCTSTR
Type de la ressource pour laquelle la langue est énumérée. Sinon, plutôt qu’un pointeur, ce paramètre peut être MAKEINTRESOURCE(ID), où ID est une valeur entière représentant un type de ressource prédéfini. Pour obtenir la liste des types de ressources prédéfinis, consultez Types de ressources. Pour plus d’informations
consultez la section Remarques ci-dessous.
[in] lpName
Type : LPCTSTR
Nom de la ressource pour laquelle la langue est énumérée. Sinon, plutôt qu’un pointeur, ce paramètre peut être MAKEINTRESOURCE(ID), où ID est l’identificateur entier de la ressource. Pour plus d’informations, consultez la section Remarques ci-dessous.
[in] lpEnumFunc
Type : ENUMRESLANGPROC
Pointeur vers la fonction de rappel à appeler pour chaque langue de ressource énumérée. Pour plus d’informations, consultez EnumResLangProcW.
[in] lParam
Type : LONG_PTR
Valeur définie par l’application passée à la fonction de rappel. Ce paramètre peut être utilisé dans la vérification des erreurs.
[in] dwFlags
Type : DWORD
Type de fichier à rechercher. Les valeurs suivantes sont admises : Notez que si dwFlags est égal à zéro, les indicateurs RESOURCE_ENUM_LN et RESOURCE_ENUM_MUI sont supposés être spécifiés.
[in] LangId
Type : LANGID
Langue de localisation utilisée pour filtrer la recherche dans le fichier .mui. Ce paramètre est utilisé uniquement lorsque l’indicateur RESOURCE_ENUM_MUI est défini dans dwFlags. Si zéro est spécifié, tous les fichiers .mui sont inclus dans la recherche. Si un LangId différent de zéro est spécifié, le seul fichier .mui recherché sera celui correspondant au LangId spécifié.
Valeur retournée
Type : BOOL
Retourne TRUE si la fonction réussit ou FALSE si la fonction ne trouve pas de ressource du type spécifié, ou si la fonction échoue pour une autre raison. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Remarques
Si IS_INTRESOURCE(lpType) a la valeur TRUE, lpType spécifie l’identificateur entier du type de ressource donné. Sinon, il s’agit d’un pointeur vers une chaîne terminée par null. Si le premier caractère de la chaîne est un signe dièse (#), les caractères restants représentent un nombre décimal qui spécifie le signe
identificateur entier du type de ressource. Par exemple, la chaîne « #258 » représente l’identificateur 258.
De même, si IS_INTRESOURCE(lpName) a la valeur TRUE, lpName spécifie l’identificateur entier de la ressource donnée. Sinon, il s’agit d’un pointeur vers une chaîne terminée par null. Si le premier caractère de la chaîne est un signe dièse (#), les caractères restants représentent un nombre décimal qui spécifie le signe
identificateur entier de la ressource.
À compter de Windows Vista, le module binaire est généralement un fichier LN, et l’énumération inclut également les ressources des fichiers de ressources correspondants spécifiques à la langue (fichiers .mui) qui contiennent des ressources de langue localisables.
Pour chacune de ces ressources trouvées, EnumResourceLanguagesEx appelle une fonction de rappel définie par l’application lpEnumFunc, en passant à la fonction de rappel l’identificateur de langue (voir Identificateurs de langue) de la langue pour laquelle une ressource a été trouvée (ainsi que les différents autres paramètres passés à EnumResourceLanguagesEx).
La recherche peut inclure à la fois un fichier LN et ses fichiers .mui associés, ou elle peut être limitée soit à un seul module binaire de n’importe quel type, soit aux fichiers .mui associés à un seul fichier LN. En outre, en spécifiant un fichier LN pour le paramètre hModule et un paramètre LangId différent de zéro, la recherche peut être limitée au fichier .mui unique associé à ce fichier et cette langue LN.
La fonction EnumResourceLanguagesEx continue d’énumérer les langages de ressources jusqu’à ce que la fonction de rappel retourne FALSE ou que toutes les langues de ressources aient été énumérées.
Si hModule spécifie un fichier LN et que les deux indicateurs sont sélectionnés, les langues énumérées incluent toutes les langues dont les ressources résident dans le fichier LN ou dans les fichiers .mui qui lui sont associés. Si aucun fichier .mui n’est trouvé, seules les langues du fichier LN sont retournées.
Si dwFlags contient RESOURCE_ENUM_MUI ou NULL et que LangId est 0, l’énumération inclut d’abord les langues associées à tous les fichiers .mui installés par le système, en utilisant les langues récupérées à partir d’EnumUILanguages.. Enfin, si l’indicateur RESOURCE_ENUM_LN est également défini, le fichier désigné par hModule fait également l’objet d’une recherche.
Si le LangId est différent de zéro, seul le fichier .mui correspondant à cet identificateur de langue sera recherché. Les secours linguistiques ne seront pas utilisés. Si un fichier .mui pour cette langue n’existe pas, l’énumération est vide (sauf si des ressources pour cette langue existent dans le fichier LN et que l’indicateur est défini pour rechercher également le fichier LN).
L’énumération n’inclut jamais de doublons : si les ressources d’une langue particulière sont contenues à la fois dans le fichier LN et dans un fichier .mui, le type n’est énuméré qu’une seule fois.
Exemples
Pour obtenir un exemple, consultez Création d’une liste de ressources.
Notes
L’en-tête libloaderapi.h définit EnumResourceLanguagesEx comme un 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. Le mélange 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 Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | libloaderapi.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |
Voir aussi
Conceptuel
Référence