Funzione EnumResourceNamesA (libloaderapi.h)

Enumera le risorse di un tipo specificato all'interno di un modulo binario. Per Windows Vista e versioni successive, questo è in genere un file eseguibile portabile (LN) indipendente dal linguaggio e l'enumerazione includerà anche le risorse dai file di risorse specifici della lingua corrispondenti (file con estensione mui) che contengono risorse del linguaggio localizzabili. È anche possibile che hModule specifichi un file con estensione mui, in cui solo il file viene cercato per le risorse.

Sintassi

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

Parametri

[in, optional] hModule

Tipo: HMODULE

Handle a un modulo da cercare. A partire da Windows Vista, se si tratta di un file LN, i file con estensione mui appropriati (se presenti) sono inclusi nella ricerca.

Se questo parametro è NULL, equivalente al passaggio di un handle al modulo usato per creare il processo corrente.

[in] lpType

Tipo: LPCTSTR

Tipo della risorsa per cui viene enumerato il nome. In alternativa, anziché un puntatore, questo parametro può essere MAKEINTRESOURCE(ID), dove ID è un valore integer che rappresenta un tipo di risorsa predefinito. Per un elenco di tipi di risorse predefiniti, vedere Tipi di risorse. Per altre informazioni, vedere la sezione Osservazioni di seguito.

[in] lpEnumFunc

Tipo: ENUMRESNAMEPROC

Puntatore alla funzione di callback da chiamare per ogni nome o ID della risorsa enumerata. Per altre informazioni, vedere ENUMRESNAMEPROC.

[in] lParam

Tipo: LONG_PTR

Valore definito dall'applicazione passato alla funzione di callback. Questo parametro può essere usato nel controllo degli errori.

Valore restituito

Tipo: BOOL

Il valore restituito è TRUE se la funzione ha esito positivo o FALSE se la funzione non trova una risorsa del tipo specificato o se la funzione ha esito negativo per un altro motivo. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Se IS_INTRESOURCE(lpszType) è TRUE, lpszType specifica l'identificatore intero del tipo di risorsa specificato. In caso contrario, è un puntatore a una stringa con terminazione Null. Se il primo carattere della stringa è un segno di sterlina (#), i caratteri rimanenti rappresentano un numero decimale che specifica l'identificatore intero del tipo di risorsa. Ad esempio, la stringa "#258" rappresenta l'identificatore 258.

Per ogni risorsa trovata, EnumResourceNames chiama una funzione di callback definita dall'applicazione lpEnumFunc, passando il nome o l'ID di ogni risorsa trovata, nonché i vari altri parametri passati a EnumResourceNames.

In alternativa, le applicazioni possono chiamare EnumResourceNamesEx, che fornisce un controllo più preciso delle risorse enumerate.

Se una risorsa ha un ID, l'ID viene passato alla funzione di callback; in caso contrario, il nome della risorsa viene passato alla funzione di callback. Per altre informazioni, vedere ENUMRESNAMEPROC.

La funzione EnumResourceNames continua ad enumerare le risorse fino a quando la funzione di callback restituisce FALSE o tutte le risorse sono state enumerate.

A partire da Windows Vista, se hModule specifica un file LN, le risorse enumerate possono risiedere nel file LN o in un file mui associato. Se non vengono trovati file con estensione mui, vengono restituite solo le risorse del file LN. L'ordine in cui vengono cercati i file con estensione mui è il consueto ordine di ricerca del caricatore di risorse; per informazioni dettagliate, vedere Gestione linguaggio interfaccia utente . Una volta trovato un file con estensione mui appropriato, la ricerca file mui si arresta. Poiché tutti i file con estensione mui corrispondenti a un singolo file LN hanno gli stessi tipi di risorse, è necessario enumerare solo le risorse nel file con estensione mui trovato.

L'enumerazione non include mai duplicati: se le risorse con lo stesso nome sono contenute nel file LN e in un file con estensione mui, la risorsa verrà enumerata una sola volta.

Esempio

Per un esempio, vedere Creazione di un elenco di risorse.

Requisiti

Requisito Valore
Client minimo supportato Windows 10 Build 20348
Server minimo supportato Windows 10 Build 20348
Intestazione libloaderapi.h
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Informazioni concettuali

Riferimento