Funzione EnumResourceNamesW (libloaderapi.h)
Enumera le risorse di un tipo specificato all'interno di un modulo binario. Per Windows Vista e versioni successive, si tratta in genere di un file eseguibile portabile indipendente dal linguaggio (file LN) e l'enumerazione includerà anche le risorse dei file di risorse specifici della lingua corrispondenti (file mui) che contengono risorse localizzabili del linguaggio. È anche possibile hModule specificare un file mui, nel qual caso viene eseguita solo la ricerca di risorse nel file.
Sintassi
BOOL EnumResourceNamesW(
[in, optional] HMODULE hModule,
[in] LPCWSTR lpType,
[in] ENUMRESNAMEPROCW lpEnumFunc,
[in] LONG_PTR lParam
);
Parametri
[in, optional] hModule
Tipo: HMODULE
Handle di un modulo in cui eseguire la ricerca. A partire da Windows Vista, se si tratta di un file LN, i file con estensione mui appropriati (se presenti) vengono inclusi nella ricerca.
Se questo parametro è NULL, equivale a passare 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 intero che rappresenta un tipo di risorsa predefinito. Per un elenco dei 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 id o nome di 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 oppure se la funzione ha esito negativo per un altro motivo. Per ottenere informazioni estese sull'errore, chiamare GetLastError.
Osservazioni
Se IS_INTRESOURCE(lpszType) è TRUE, lpszType specifica l'identificatore integer 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 cancelletto (#), i caratteri rimanenti rappresentano un numero decimale che specifica l'identificatore integer 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. Il nome passato è valido solo all'interno del callback. Se il nome passato è un puntatore di stringa, punta a un buffer interno riutilizzato per tutte le chiamate di callback.
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 finché la funzione di callback non 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 solito ordine di ricerca di Resource Loader; per informazioni dettagliate, vedere Gestione del linguaggio dell'interfaccia utente. Una volta trovato un file mui appropriato, la ricerca del file mui viene arrestata. Poiché tutti i file con estensione mui che corrispondono a un singolo file LN hanno gli stessi tipi di risorse, è necessario enumerare solo le risorse nel file mui trovato.
L'enumerazione non include mai duplicati: se le risorse con lo stesso nome sono contenute sia nel file LN che in un file mui, la risorsa verrà enumerata una sola volta.
Esempi
Per un esempio, vedere Creazione di un elenco di risorse.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 Professional [solo app desktop] |
server minimo supportato | Windows 2000 Server [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione | libloaderapi.h (include Windows.h) |
libreria | Kernel32.lib |
dll | Kernel32.dll |
Vedere anche
Concettuale
Riferimento
- menu e altre risorse