Funzione EnumResourceLanguagesExA (libloaderapi.h)
Enumera le risorse specifiche della lingua, del tipo e del nome specificati, associate a un modulo binario specificato. Estende EnumResourceLanguages consentendo un maggiore controllo sull'enumerazione.
Sintassi
BOOL EnumResourceLanguagesExA(
[in] HMODULE hModule,
[in] LPCSTR lpType,
[in] LPCSTR lpName,
[in] ENUMRESLANGPROCA lpEnumFunc,
[in] LONG_PTR lParam,
[in] DWORD dwFlags,
[in] LANGID LangId
);
Parametri
[in] hModule
Tipo: HMODULE
Handle di un modulo da cercare. In genere si tratta di un file eseguibile portabile indipendente dal linguaggio (file LN) e se il flag RESOURCE_ENUM_MUI è impostato, i file con estensione mui appropriati vengono inclusi nella ricerca. In alternativa, questo può essere un handle per un file mui o un altro file LN. Se si tratta di un file con estensione mui specifico, viene cercato solo il file per le risorse.
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 la quale viene enumerata la lingua. 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
informazioni, vedere la sezione Osservazioni di seguito.
[in] lpName
Tipo: LPCTSTR
Nome della risorsa per cui viene enumerata la lingua. In alternativa, anziché un puntatore, questo parametro può essere MAKEINTRESOURCE(ID), dove ID è l'identificatore integer della risorsa. Per altre informazioni, vedere la sezione Osservazioni di seguito.
[in] lpEnumFunc
Tipo: ENUMRESLANGPROC
Puntatore alla funzione di callback da chiamare per ogni linguaggio di risorse enumerato. Per altre informazioni, vedere EnumResLangProcA.
[in] lParam
Tipo: LONG_PTR
Valore definito dall'applicazione passato alla funzione di callback. Questo parametro può essere usato nel controllo degli errori.
[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.
[in] LangId
Tipo: LANGID
Lingua di localizzazione usata per filtrare la ricerca nel file 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 vengono inclusi nella ricerca. 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 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(lpType) è TRUE, lpType 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'oggetto
identificatore integer del tipo di risorsa. Ad esempio, la stringa "#258" rappresenta l'identificatore 258.
Analogamente, se IS_INTRESOURCE(lpName) è TRUE, lpName specifica l'identificatore intero della risorsa specificata. 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'oggetto
identificatore integer della risorsa.
A partire da Windows Vista, il modulo binario è in genere un 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.
Per ogni risorsa trovata, EnumResourceLanguagesEx chiama una funzione di callback definita dall'applicazione lpEnumFunc, passando alla funzione di callback l'identificatore della lingua (vedere Language Identifiers) della lingua per cui è stata trovata una risorsa (nonché i vari altri parametri passati a EnumResourceLanguagesEx).
La ricerca può includere sia un file LN che i relativi file mui associati oppure può essere limitato a un singolo modulo binario di qualsiasi tipo o ai file mui associati a un singolo file LN. Specificando inoltre un file LN per il parametro hModule e un parametro langId diverso da zero langId, la ricerca può essere limitata al file mui univoco associato a tale file e lingua LN.
La funzione EnumResourceLanguagesEx continua ad enumerare le lingue delle risorse fino a quando la funzione di callback non restituisce FALSE o tutte le lingue delle risorse sono state enumerate.
Se hModule specifica un file LN e vengono selezionati entrambi i flag, le lingue enumerate includono tutte le lingue le cui risorse risiedono nel file LN o in qualsiasi file mui associato. Se non vengono trovati file con estensione mui, vengono restituite solo le lingue del file LN.
Se dwFlags contiene RESOURCE_ENUM_MUI o NULL e LangId è 0, l'enumerazione include innanzitutto le lingue associate a tutti i file mui installati dal sistema, usando le lingue recuperate da EnumUILanguages.. Infine, se viene impostato anche il flag RESOURCE_ENUM_LN, viene eseguita anche la ricerca del file designato da hModule.
Se il
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 EnumResourceLanguagesEx 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 che 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