Partager via


Fonction EnumResourceLanguagesExA (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 EnumResourceLanguagesExA(
  [in] HMODULE          hModule,
  [in] LPCSTR           lpType,
  [in] LPCSTR           lpName,
  [in] ENUMRESLANGPROCA 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 exécutable portable neutre en langage (fichier LN), et si l’indicateur RESOURCE_ENUM_MUI est défini, les fichiers .mui appropriés sont inclus dans la recherche. Sinon, il peut 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 est null, il é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

informations, consultez la section Remarques ci-dessous.

[in] lpName

Type : LPCTSTR

Nom de la ressource pour laquelle la langue est énumérée. Sinon, au lieu d’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 langage de ressource énuméré. Pour plus d’informations, consultez EnumResLangProcA.

[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 prises en charge. Notez que si dwFlags est égal à zéro, les indicateurs RESOURCE_ENUM_LN et RESOURCE_ENUM_MUI sont supposés être spécifiés.

Valeur Signification
RESOURCE_ENUM_MUI
0x0002
Recherchez des ressources spécifiques au langage dans les fichiers .mui associés au fichier LN spécifié par hModule. Sinon, si LangId n’est pas zéro, le seul fichier .mui recherché sera celui correspondant à l'LangId spécifié. En règle générale, cet indicateur ne doit être utilisé que si hModule fait référence à un fichier LN. Si hModule fait référence à un fichier .mui, ce fichier est réellement couvert par l’indicateur RESOURCE_LN, malgré le nom de l’indicateur. Consultez la section Remarques ci-dessous pour la séquence de recherche.
RESOURCE_ENUM_LN
0x0001
Recherche le fichier spécifié par hModule, que le fichier soit un fichier LN, un autre type de fichier LN ou un fichier .mui.
RESOURCE_ENUM_MUI_SYSTEM
0x0004
Limite la recherche de fichiers .mui aux langues muI installées par le système.
RESOURCE_ENUM_VALIDATE
0x0008
Effectue une validation supplémentaire sur la section de ressource et sa référence dans l’en-tête PE tout en effectuant l’énumération pour vous assurer que les ressources sont correctement mises en forme.

[in] LangId

Type : LANGID

Langage de localisation utilisé pour filtrer la recherche dans le fichier .mui. Ce paramètre est utilisé uniquement lorsque l’indicateur de 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 à l'LangId spécifié.

Valeur de retour

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’erreur étendues, appelez GetLastError.

Remarques

Si IS_INTRESOURCE(lpType) est 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 de livre (#), les caractères restants représentent un nombre décimal qui spécifie le

identificateur entier du type de ressource. Par exemple, la chaîne « #258 » représente l’identificateur 258.

De même, si IS_INTRESOURCE(lpName) est 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 de livre (#), les caractères restants représentent un nombre décimal qui spécifie le

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 spécifiques au langage correspondants (fichiers .mui) qui contiennent des ressources linguistiques localisables.

Pour chaque ressource de ce type trouvée, 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 il peut être limité à un seul module binaire de n’importe quel type, ou 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 langues de ressources jusqu’à ce que la fonction de rappel retourne FALSE ou toutes les langues de ressources ont é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 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 LangId est 0, l’énumération inclut d’abord les langues associées à tous les fichiers .mui installés par le système, à l’aide de langues récupérées à partir de EnumUILanguages.. Enfin, si l’indicateur RESOURCE_ENUM_LN est également défini, le fichier désigné par hModule est également recherché.

Si le LangId n’est pas 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 les ressources de cette langue existent dans le fichier LN et que l’indicateur est également défini pour rechercher le fichier LN).

L’énumération n’inclut jamais de doublons : si les ressources d’une langue particulière sont contenues dans le fichier LN et dans un fichier .mui, le type ne sera énuméré qu’une seule fois.

Exemples

Pour obtenir un exemple, consultez Création d’une liste de ressources.

Note

L’en-tête libloaderapi.h définit EnumResourceLanguagesEx comme 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2008 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête libloaderapi.h (include Windows.h)
bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

conceptuelle

EnumResLangProcA

EnumResourceNamesEx

EnumResourceTypesEx

MAKEINTRESOURCE

de référence

Ressources