Fonction EnumResourceTypesExW (libloaderapi.h)
Énumère les types de ressources associés à un module binaire spécifié. La recherche peut inclure à la fois un fichier exécutable portable neutre en langage
Pour chaque type de ressource trouvé, EnumResourceTypesEx appelle une fonction de rappel définie par l’application lpEnumFunc, en passant le type de ressource qu’il trouve, ainsi que les différents autres paramètres passés à EnumResourceTypesEx.
Syntaxe
BOOL EnumResourceTypesExW(
[in, optional] HMODULE hModule,
[in] ENUMRESTYPEPROCW lpEnumFunc,
[in] LONG_PTR lParam,
[in] DWORD dwFlags,
[in] LANGID LangId
);
Paramètres
[in, optional] hModule
Type : HMODULE
Handle vers un module à rechercher. En règle générale, il s’agit d’un fichier LN et, si l’indicateur RESOURCE_ENUM_MUI est défini, les fichiers .mui appropriés peuvent être inclus dans la recherche. Sinon, il peut s’agir d’un handle vers un fichier .mui ou un autre fichier LN.
Si ce paramètre est null, il équivaut à passer un handle au module utilisé pour créer le processus actuel.
[in] lpEnumFunc
Type : ENUMRESTYPEPROC
Pointeur vers la fonction de rappel à appeler pour chaque type de ressource énuméré. Pour plus d’informations, consultez EnumResTypeProc.
[in] lParam
Type : LONG_PTR
Valeur définie par l’application passée à la fonction de rappel.
[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 |
---|---|
|
Recherchez les types de ressources dans l’un des fichiers .mui associés au fichier spécifié par hModule et avec les préférences linguistiques actuelles, en suivant la stratégie habituelle du chargeur de ressources (voir Gestion du langage de l’interface utilisateur). Sinon, si LangId n’est pas zéro, seul le fichier .mui de la langue spécifiée par LangId sera recherché. 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_ENUM_LN, malgré le nom de l’indicateur. |
|
Recherche uniquement le fichier spécifié par hModule, que le fichier soit un fichier LN ou un fichier .mui. |
|
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. La validation définit une limite maximale de 260 caractères pour chaque type énuméré. |
[in] LangId
Type : LANGID
Langage utilisé pour filtrer la recherche dans le module 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 qui correspondent aux préférences linguistiques actuelles sont inclus dans la recherche, en suivant la stratégie habituelle du chargeur de ressources (voir Gestion du langage de l’interface utilisateur). 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 elle 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
La fonction EnumResourceTypesEx continue d’énumérer les types de ressources jusqu’à ce que la fonction de rappel retourne FALSE ou tous les types de ressources ont été énumérés.
Si hModule spécifie un fichier LN et que les deux indicateurs sont sélectionnés, les types énumérés correspondent aux ressources résidant dans le fichier LN ou dans les fichiers .mui associés. Si aucun fichier .mui n’est trouvé, seuls les types du fichier LN sont retournés. Une fois qu’un fichier .mui approprié est trouvé, la recherche ne se poursuit pas plus loin, car tous les fichiers .mui correspondant à un seul fichier LN ont les mêmes types de ressources.
Si dwFlags et langId sont tous deux zéro, la fonction se comporte comme EnumResourceTypes.
Si 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 EnumResourceTypesEx 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
de référence