Partager via


Fonction EnumResourceNamesA (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’une exécutable portable neutre en langage (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. Il est également possible pour hModule de spécifier un fichier .mui, auquel cas seul ce fichier est recherché pour les ressources.

Syntaxe

BOOL EnumResourceNamesA(
  [in, optional] HMODULE          hModule,
  [in]           LPCSTR           lpType,
  [in]           ENUMRESNAMEPROCA lpEnumFunc,
  [in]           LONG_PTR         lParam
);

Paramètres

[in, optional] hModule

Type : HMODULE

Handle vers 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 est 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 nom ou ID 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 de retour

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

Remarques

Si IS_INTRESOURCE(lpszType) est 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 qu’il trouve, ainsi que les différents autres paramètres passés à EnumResourceNames. Le nom passé est valide uniquement à l’intérieur du rappel. Si le nom passé est un pointeur de chaîne, il pointe vers une mémoire tampon interne réutilisée pour tous les appels de rappel.

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 transmis à la fonction de rappel ; sinon, le nom de la ressource est transmis à 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 FAUX ou toutes les ressources ont é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 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 du langage 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 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 10 Build 20348
serveur minimum pris en charge Windows 10 Build 20348
d’en-tête libloaderapi.h
bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

Conceptuel

Référence