Partager via


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

Voir aussi

Conceptuel

Référence