EnumResourceLanguagesExA-Funktion (libloaderapi.h)

Listet sprachspezifische Ressourcen des angegebenen Typs und Namens auf, die einem angegebenen Binärmodul zugeordnet sind. Erweitert EnumResourceLanguages , indem mehr Kontrolle über die Enumeration ermöglicht wird.

Syntax

BOOL EnumResourceLanguagesExA(
  [in] HMODULE          hModule,
  [in] LPCSTR           lpType,
  [in] LPCSTR           lpName,
  [in] ENUMRESLANGPROCA lpEnumFunc,
  [in] LONG_PTR         lParam,
  [in] DWORD            dwFlags,
  [in] LANGID           LangId
);

Parameter

[in] hModule

Typ: HMODULE

Das Handle für ein zu durchsuchende Modul. In der Regel handelt es sich um eine sprachneutrale portable ausführbare Datei (LN-Datei ), und wenn das Flag RESOURCE_ENUM_MUI festgelegt ist, werden entsprechende MUI-Dateien in die Suche einbezogen. Alternativ kann dies ein Handle für eine MUI-Datei oder eine andere LN-Datei sein. Wenn es sich um eine bestimmte MUI-Datei handelt, wird nur diese Datei nach Ressourcen durchsucht.

Wenn dieser Parameter NULL ist, entspricht dies der Übergabe eines Handles an das Modul, das zum Erstellen des aktuellen Prozesses verwendet wird.

[in] lpType

Typ: LPCTSTR

Der Typ der Ressource, für die die Sprache aufgezählt wird. Alternativ kann dieser Parameter anstelle eines Zeigers MAKEINTRESOURCE(ID) sein, wobei ID ein ganzzahliger Wert ist, der einen vordefinierten Ressourcentyp darstellt. Eine Liste der vordefinierten Ressourcentypen finden Sie unter Ressourcentypen. Weitere Informationen

Informationen finden Sie weiter unten im Abschnitt Hinweise.

[in] lpName

Typ: LPCTSTR

Der Name der Ressource, für die die Sprache aufgezählt wird. Alternativ kann dieser Parameter anstelle eines Zeigers MAKEINTRESOURCE(ID) sein, wobei ID der ganzzahlige Bezeichner der Ressource ist. Weitere Informationen finden Sie weiter unten im Abschnitt Hinweise.

[in] lpEnumFunc

Typ: ENUMRESLANGPROC

Ein Zeiger auf die Rückruffunktion, die für jede aufgezählte Ressourcensprache aufgerufen werden soll. Weitere Informationen finden Sie unter EnumResLangProcA.

[in] lParam

Typ: LONG_PTR

Ein anwendungsdefinierter Wert, der an die Rückruffunktion übergeben wird. Dieser Parameter kann bei der Fehlerüberprüfung verwendet werden.

[in] dwFlags

Art: DWORD

Der Typ der zu durchsuchenden Datei. Die folgenden Werte werden unterstützt. Beachten Sie, dass bei dwFlags null davon ausgegangen wird, dass die RESOURCE_ENUM_LN - und RESOURCE_ENUM_MUI-Flags angegeben werden.

Wert Bedeutung
RESOURCE_ENUM_MUI
0x0002
Suchen Sie nach sprachspezifischen Ressourcen in MUI-Dateien, die der von hModule angegebenen LN-Datei zugeordnet sind. Wenn LangId nichtzero ist, wird alternativ nur die durchsuchte MUI-Datei mit der angegebenen LangId gesucht. In der Regel sollte dieses Flag nur verwendet werden, wenn hModule auf eine LN-Datei verweist. Wenn hModule auf eine MUI-Datei verweist, wird diese Datei trotz des Namens des Flags tatsächlich vom flag RESOURCE_LN abgedeckt. Die Reihenfolge der Suche finden Sie im Abschnitt Hinweise unten.
RESOURCE_ENUM_LN
0x0001
Durchsucht die von hModule angegebene Datei, unabhängig davon, ob es sich bei der Datei um eine LN-Datei, einen anderen Typ von LN-Datei oder um eine MUI-Datei handelt.
RESOURCE_ENUM_MUI_SYSTEM
0x0004
Schränkt die Suche nach .mui-Dateien auf vom System installierte MUI-Sprachen ein.
RESOURCE_ENUM_VALIDATE
0x0008
Führt eine zusätzliche Überprüfung für den Ressourcenabschnitt und deren Verweis im PE-Header durch, während die Enumeration ausgeführt wird, um sicherzustellen, dass Ressourcen ordnungsgemäß formatiert sind.

[in] LangId

Typ: LANGID

Die Lokalisierungssprache, die zum Filtern der Suche in der MUI-Datei verwendet wird. Dieser Parameter wird nur verwendet, wenn das RESOURCE_ENUM_MUI-Flag in dwFlags festgelegt ist. Wenn null angegeben wird, werden alle MUI-Dateien in die Suche einbezogen. Wenn eine nonzero LangId angegeben wird, ist die einzige durchsuchte MUI-Datei diejenige, die der angegebenen LangId entspricht.

Rückgabewert

Typ: BOOL

Gibt TRUE zurück, wenn die Funktion erfolgreich ist, oder FALSE , wenn die Funktion keine Ressource des angegebenen Typs findet oder wenn die Funktion aus einem anderen Grund fehlschlägt. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Bemerkungen

Wenn IS_INTRESOURCE(lpType) TRUE ist, gibt lpType den ganzzahligen Bezeichner des angegebenen Ressourcentyps an. Andernfalls handelt es sich um einen Zeiger auf eine NULL-Zeichenfolge. Wenn das erste Zeichen der Zeichenfolge ein Pfundzeichen (#) ist, stellen die übrigen Zeichen eine Dezimalzahl dar, die die

ganzzahliger Bezeichner des Ressourcentyps. Die Zeichenfolge "#258" stellt beispielsweise den Bezeichner 258 dar.

Wenn IS_INTRESOURCE(lpName) true ist, gibt lpName den ganzzahligen Bezeichner der angegebenen Ressource an. Andernfalls handelt es sich um einen Zeiger auf eine NULL-Zeichenfolge. Wenn das erste Zeichen der Zeichenfolge ein Pfundzeichen (#) ist, stellen die übrigen Zeichen eine Dezimalzahl dar, die die

ganzzahliger Bezeichner der Ressource.

Ab Windows Vista ist das Binärmodul in der Regel eine LN-Datei, und die Enumeration enthält auch Ressourcen aus den entsprechenden sprachspezifischen Ressourcendateien (MUI-Dateien), die lokalisierbare Sprachressourcen enthalten.

Für jede dieser gefundenen Ressourcen ruft EnumResourceLanguagesEx eine anwendungsdefinierte Rückruffunktion lpEnumFunc auf und übergibt an die Rückruffunktion den Sprachbezeichner (siehe Sprachbezeichner) der Sprache, für die eine Ressource gefunden wurde (sowie die verschiedenen anderen Parameter, die an EnumResourceLanguagesEx übergeben wurden).

Die Suche kann sowohl eine LN-Datei als auch die zugehörigen MUI-Dateien enthalten, oder sie kann entweder auf ein einzelnes binäres Modul eines beliebigen Typs oder auf die MUI-Dateien beschränkt werden, die einer einzelnen LN-Datei zugeordnet sind. Außerdem kann die Suche durch Angeben einer LN-Datei für den hModule-Parameter und eines nonzero LangId-Parameters auf die eindeutige MUI-Datei beschränkt werden, die dieser LN-Datei und -Sprache zugeordnet ist.

Die EnumResourceLanguagesEx-Funktion listet weiterhin Ressourcensprachen auf, bis die Rückruffunktion FALSE zurückgibt oder alle Ressourcensprachen aufgelistet wurden.

Wenn hModule eine LN-Datei angibt und beide Flags ausgewählt sind, umfassen die aufgezählten Sprachen alle Sprachen, deren Ressourcen sich entweder in der LN-Datei oder in allen ihr zugeordneten MUI-Dateien befinden. Wenn keine MUI-Dateien gefunden werden, werden nur Sprachen aus der LN-Datei zurückgegeben.

Wenn dwFlagsRESOURCE_ENUM_MUI oder NULL enthält und LangId 0 ist, enthält die Enumeration zuerst die Sprachen, die allen vom System installierten MUI-Dateien zugeordnet sind, wobei Sprachen verwendet werden, die von EnumUILanguages abgerufen werden. Wenn schließlich auch das RESOURCE_ENUM_LN-Flag festgelegt ist, wird auch die von hModule angegebene Datei durchsucht.

Wenn die LangId nonzero ist, wird nur die MUI-Datei, die diesem Sprachbezeichner entspricht, durchsucht. Sprachfallbacks werden nicht verwendet. Wenn eine MUI-Datei für diese Sprache nicht vorhanden ist, ist die Enumeration leer (es sei denn, ressourcen für diese Sprache sind in der LN-Datei vorhanden, und das Flag ist festgelegt, um auch die LN-Datei zu durchsuchen).

Die Enumeration enthält nie Duplikate: Wenn Ressourcen für eine bestimmte Sprache sowohl in der LN-Datei als auch in einer MUI-Datei enthalten sind, wird der Typ nur einmal aufgelistet.

Beispiele

Ein Beispiel finden Sie unter Erstellen einer Ressourcenliste.

Hinweis

Der libloaderapi.h-Header definiert EnumResourceLanguagesEx als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile libloaderapi.h (einschließlich Windows.h)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

Konzept

EnumResLangProcA

EnumResourceNamesEx

EnumResourceTypesEx

MAKEINTRESOURCE

Verweis

Ressourcen