Funzione EnumResourceTypesExA (libloaderapi.h)
Enumera i tipi di risorse associati a un modulo binario specificato. La ricerca può includere sia un file eseguibile portabile indipendente dal linguaggio (file LN) sia i file con estensione mui associati. In alternativa, può essere limitato a un singolo modulo binario di qualsiasi tipo o ai file mui associati a un singolo file LN. La ricerca può anche essere limitata a un singolo file mui associato che contiene risorse per una lingua specifica.
Per ogni tipo di risorsa trovato, EnumResourceTypesEx chiama una funzione di callback definita dall'applicazione lpEnumFunc, passando il tipo di risorsa trovato, nonché i vari altri parametri passati a EnumResourceTypesEx.
Sintassi
BOOL EnumResourceTypesExA(
[in, optional] HMODULE hModule,
[in] ENUMRESTYPEPROCA lpEnumFunc,
[in] LONG_PTR lParam,
[in] DWORD dwFlags,
[in] LANGID LangId
);
Parametri
[in, optional] hModule
Tipo: HMODULE
Handle di un modulo in cui eseguire la ricerca. In genere si tratta di un file LN e, se il flag RESOURCE_ENUM_MUI è impostato, i file con estensione mui appropriati possono essere inclusi nella ricerca. In alternativa, questo può essere un handle per un file mui o un altro file LN.
Se questo parametro è NULL, equivale a passare un handle al modulo usato per creare il processo corrente.
[in] lpEnumFunc
Tipo: ENUMRESTYPEPROC
Puntatore alla funzione di callback da chiamare per ogni tipo di risorsa enumerato. Per altre informazioni, vedere EnumResTypeProc.
[in] lParam
Tipo: LONG_PTR
Valore definito dall'applicazione passato alla funzione di callback.
[in] dwFlags
Tipo: DWORD
Tipo di file da cercare. Sono supportati i valori seguenti. Si noti che se dwFlags è zero, si presuppone che vengano specificati i flag RESOURCE_ENUM_LN e RESOURCE_ENUM_MUI.
Valore | Significato |
---|---|
|
Cercare i tipi di risorse in uno dei file mui associati al file specificato da hModule e con le preferenze di lingua correnti, seguendo la consueta strategia del caricatore delle risorse (vedere Gestione del linguaggio dell'interfaccia utente). In alternativa, se LangId è diverso da zero, verrà eseguita la ricerca solo del file mui della lingua come specificato da LangId. In genere, questo flag deve essere usato solo se hModule fa riferimento a un file LN. Se hModule fa riferimento a un file mui, tale file è effettivamente coperto dal flag RESOURCE_ENUM_LN, nonostante il nome del flag. |
|
Cerca solo il file specificato da hModule, indipendentemente dal fatto che il file sia un file LN o un file mui. |
|
Esegue una convalida aggiuntiva nella sezione della risorsa e il relativo riferimento nell'intestazione PE durante l'enumerazione per garantire che le risorse siano formattate correttamente. La convalida imposta un limite massimo di 260 caratteri per ogni tipo enumerato. |
[in] LangId
Tipo: LANGID
Lingua usata per filtrare la ricerca nel modulo MUI. Questo parametro viene usato solo quando il flag di RESOURCE_ENUM_MUI è impostato in dwFlags. Se viene specificato zero, tutti i file con estensione mui che corrispondono alle preferenze di lingua correnti vengono inclusi nella ricerca, seguendo la consueta strategia di Resource Loader (vedere Gestione del linguaggio dell'interfaccia utente). Se viene specificato un langid diverso da zero, l'unico file mui cercato sarà quello corrispondente all'LangId specificato.
Valore restituito
Tipo: bool
Restituisce TRUE se ha esito positivo o FALSE se la funzione non trova una risorsa del tipo specificato oppure se la funzione non riesce per un altro motivo. Per ottenere informazioni estese sull'errore, chiamare GetLastError.
Osservazioni
La funzione EnumResourceTypesEx
Se hModule specifica un file LN e vengono selezionati entrambi i flag, i tipi enumerati corrispondono alle risorse che risiedono nel file LN o nei file mui associati. Se non vengono trovati file mui, vengono restituiti solo i tipi del file LN. Una volta trovato un file mui appropriato, la ricerca non continuerà ulteriormente, perché tutti i file mui corrispondenti a un singolo file LN hanno gli stessi tipi di risorse.
Se dwFlags e LangId sono entrambi zero, la funzione si comporta come EnumResourceTypes.
Se LangId è diverso da zero, verrà eseguita la ricerca solo del file mui corrispondente a tale identificatore di lingua. I fallback del linguaggio non verranno usati. Se non esiste un file mui per tale lingua, l'enumerazione sarà vuota (a meno che le risorse per tale lingua non esistano nel file LN e il flag sia impostato anche per la ricerca nel file LN).
L'enumerazione non include mai duplicati: se le risorse per una determinata lingua sono contenute sia nel file LN che in un file mui, il tipo verrà enumerato una sola volta.
Esempi
Per un esempio, vedere Creazione di un elenco di risorse.
Nota
L'intestazione libloaderapi.h definisce EnumResourceTypesEx come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Vista [solo app desktop] |
server minimo supportato | Windows Server 2008 [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
libloaderapi.h (include Windows.h) |
libreria |
Kernel32.lib |
dll | Kernel32.dll |
Vedere anche
concettuale
riferimento
risorse