Condividi tramite


Funzione EnumResourceNamesW (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 EnumResourceNamesW(
  [in, optional] HMODULE          hModule,
  [in]           LPCWSTR          lpType,
  [in]           ENUMRESNAMEPROCW 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

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione libloaderapi.h (includere Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Informazioni concettuali

Riferimento