Fonction EnumResourceNamesW (libloaderapi.h)
Énumère les ressources d’un type spécifié dans un module binaire. Pour Windows Vista et versions ultérieures, il s’agit généralement d’un fichier exécutable portable (LN) non linguistique , et l’énumération inclut également les ressources des fichiers de ressources spécifiques à la langue correspondants (fichiers .mui) qui contiennent des ressources de langue localisables. Il est également possible pour hModule de spécifier un fichier .mui, auquel cas seul ce fichier est recherché pour les ressources.
Syntaxe
BOOL EnumResourceNamesW(
[in, optional] HMODULE hModule,
[in] LPCWSTR lpType,
[in] ENUMRESNAMEPROCW lpEnumFunc,
[in] LONG_PTR lParam
);
Paramètres
[in, optional] hModule
Type : HMODULE
Handle d’un module à rechercher. À compter de Windows Vista, s’il s’agit d’un fichier LN, les fichiers .mui appropriés (le cas échéant) sont inclus dans la recherche.
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 le nom est énuméré. 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] lpEnumFunc
Type : ENUMRESNAMEPROC
Pointeur vers la fonction de rappel à appeler pour chaque id ou nom de ressource énuméré. Pour plus d’informations, consultez ENUMRESNAMEPROC.
[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.
Valeur retournée
Type : BOOL
La valeur de retour est 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.
Notes
Si IS_INTRESOURCE(lpszType) a la valeur TRUE, lpszType 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 l’identificateur entier du type de ressource. Par exemple, la chaîne « #258 » représente l’identificateur 258.
Pour chaque ressource trouvée, EnumResourceNames appelle une fonction de rappel définie par l’application lpEnumFunc, en passant le nom ou l’ID de chaque ressource trouvée, ainsi que les différents autres paramètres qui ont été passés à EnumResourceNames.
Les applications peuvent également appeler EnumResourceNamesEx, ce qui fournit un contrôle plus précis des ressources énumérées.
Si une ressource a un ID, l’ID est passé à la fonction de rappel ; sinon, le nom de la ressource est passé à la fonction de rappel. Pour plus d’informations, consultez ENUMRESNAMEPROC.
La fonction EnumResourceNames continue d’énumérer les ressources jusqu’à ce que la fonction de rappel retourne FALSE ou que toutes les ressources aient été énumérées.
À compter de Windows Vista, si hModule spécifie un fichier LN, les ressources énumérées peuvent résider dans le fichier LN ou dans un fichier .mui qui lui est associé. Si aucun fichier .mui n’est trouvé, seules les ressources du fichier LN sont retournées. L’ordre dans lequel les fichiers .mui sont recherchés est l’ordre de recherche habituel du Chargeur de ressources ; Pour plus d’informations, consultez Gestion des langues de l’interface utilisateur . Une fois qu’un fichier .mui approprié est trouvé, la recherche de fichier .mui s’arrête. Étant donné que tous les fichiers .mui qui correspondent à un seul fichier LN ont les mêmes types de ressources, seules les ressources du fichier .mui trouvé doivent être énumérées.
L’énumération n’inclut jamais de doublons : si les ressources portant le même nom sont contenues à la fois dans le fichier LN et dans un fichier .mui, la ressource ne sera énumérée qu’une seule fois.
Exemples
Pour obtenir un exemple, consultez Création d’une liste de ressources.
Spécifications
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | libloaderapi.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |