EnumResourceLanguagesExW-Funktion (libloaderapi.h)
Listet sprachspezifische Ressourcen des angegebenen Typs und Namens auf, die einem angegebenen Binärmodul zugeordnet sind. Erweitert EnumResourceLanguages durch mehr Kontrolle über die Enumeration.
Syntax
BOOL EnumResourceLanguagesExW(
[in] HMODULE hModule,
[in] LPCWSTR lpType,
[in] LPCWSTR lpName,
[in] ENUMRESLANGPROCW lpEnumFunc,
[in] LONG_PTR lParam,
[in] DWORD dwFlags,
[in] LANGID LangId
);
Parameter
[in] hModule
Typ: HMODULE-
Das Handle zu einem zu durchsuchenden Modul. In der Regel handelt es sich um eine sprachneutrale portable ausführbare (LN-Datei) und wenn die Kennzeichnung RESOURCE_ENUM_MUI festgelegt ist, werden die entsprechenden 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 gesucht.
Wenn dieser Parameter NULL-ist, entspricht es dem Übergeben 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
Informationen finden Sie im Abschnitt "Hinweise" weiter unten.
[in] lpName
Typ: LPCTSTR-
Der Name der Ressource, für die die Sprache aufgezählt wird. Alternativ kann dieser Parameter anstelle eines Zeigers
[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 EnumResLangProcW.
[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
Typ: DWORD-
Der Dateityp, der durchsucht werden soll. Die folgenden Werte werden unterstützt. Beachten Sie, dass, wenn dwFlags null ist, die RESOURCE_ENUM_LN und RESOURCE_ENUM_MUI Flags angegeben werden.
[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 dwFlagsfestgelegt wird. Wenn Null angegeben ist, werden alle MUI-Dateien in die Suche einbezogen. Wenn ein nonzero LangId- angegeben ist, ist die einzige durchsuchte MUI-Datei die mit dem angegebenen LangIdübereinstimmen.
Rückgabewert
Typ: BOOL-
Gibt TRUE zurück, wenn die Funktion erfolgreich ist oder falsch , wenn die Funktion keine Ressource des angegebenen Typs findet oder wenn die Funktion aus einem anderen Grund fehlschlägt. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.
Bemerkungen
Wenn IS_INTRESOURCE(lpType) TRUEist, gibt lpType den ganzzahligen Bezeichner des angegebenen Ressourcentyps an. Andernfalls handelt es sich um einen Zeiger auf eine mit Null beendete Zeichenfolge. Wenn das erste Zeichen der Zeichenfolge ein Nummernzeichen (#) ist, stellen die verbleibenden Zeichen eine Dezimalzahl dar, die die
ganzzahliger Bezeichner des Ressourcentyps. Beispielsweise stellt die Zeichenfolge "#258" den Bezeichner 258 dar.
Wenn IS_INTRESOURCE(lpName) TRUEist, gibt lpName den ganzzahligen Bezeichner der angegebenen Ressource an. Andernfalls handelt es sich um einen Zeiger auf eine mit Null beendete Zeichenfolge. Wenn das erste Zeichen der Zeichenfolge ein Nummernzeichen (#) ist, stellen die verbleibenden Zeichen eine Dezimalzahl dar, die die
ganzzahliger Bezeichner der Ressource.
Ab Windows Vista ist das binäre Modul 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 gefundene Ressource ruft EnumResourceLanguagesEx eine anwendungsdefinierte Rückruffunktion lpEnumFuncauf 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. Wenn Sie außerdem eine LN-Datei für den hModule--Parameter und einen Nonzero-LangId- Parameter angeben, kann die Suche auf die eindeutige MUI-Datei beschränkt werden, die dieser LN-Datei und Sprache zugeordnet ist.
Die EnumResourceLanguagesEx--Funktion führt weiterhin Ressourcensprachen auf, bis die Rückruffunktion FALSE- zurückgibt oder alle Ressourcensprachen aufgezählt wurden.
Wenn hModule- eine LN-Datei angibt und beide Flags ausgewählt sind, enthalten die aufgelisteten Sprachen alle Sprachen, deren Ressourcen sich entweder in der LN-Datei oder in mui-Dateien befinden, die ihr zugeordnet sind. Wenn keine MUI-Dateien gefunden werden, werden nur Sprachen aus der LN-Datei zurückgegeben.
Wenn dwFlags-RESOURCE_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, und sprachen, die aus EnumUILanguages.. Wenn auch das RESOURCE_ENUM_LN-Flag festgelegt ist, wird auch die von hModule festgelegte Datei durchsucht.
Wenn die LangId ungleich Null ist, wird nur die MUI-Datei, die dieser Sprach-ID entspricht, durchsucht. Sprachfallbacks werden nicht verwendet. Wenn keine MUI-Datei für diese Sprache vorhanden ist, ist die Enumeration leer (es sei denn, Ressourcen für diese Sprache sind in der LN-Datei vorhanden, und das Flag ist so eingestellt, dass die LN-Datei ebenfalls durchsucht wird).
Die Enumeration enthält niemals 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 aufgezählt.
Beispiele
Ein Beispiel finden Sie unter Erstellen einer Ressourcenliste.
Anmerkung
Der header libloaderapi.h definiert EnumResourceLanguagesEx als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2008 [Nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | libloaderapi.h (include Windows.h) |
Library | Kernel32.lib |
DLL- | Kernel32.dll |
Siehe auch
Konzeptionelle
Referenz-