Freigeben über


EnumResourceTypesExA-Funktion (libloaderapi.h)

Listet Ressourcentypen auf, die einem angegebenen Binärmodul zugeordnet sind. Die Suche kann sowohl eine sprachneutrale portable ausführbare-Datei (LN-Datei) als auch die zugehörigen MUI-Dateien enthalten. Alternativ kann es auf ein einzelnes binäres Modul eines beliebigen Typs oder auf die MUI-Dateien beschränkt werden, die einer einzelnen LN-Datei zugeordnet sind. Die Suche kann auch auf eine einzelne zugeordnete MUI-Datei beschränkt werden, die Ressourcen für eine bestimmte Sprache enthält.

Für jeden gefundenen Ressourcentyp ruft EnumResourceTypesEx eine anwendungsdefinierte Rückruffunktion lpEnumFuncauf, wobei der gefundene Ressourcentyp übergeben wird, sowie die verschiedenen anderen Parameter, die an EnumResourceTypesExübergeben wurden.

Syntax

BOOL EnumResourceTypesExA(
  [in, optional] HMODULE          hModule,
  [in]           ENUMRESTYPEPROCA lpEnumFunc,
  [in]           LONG_PTR         lParam,
  [in]           DWORD            dwFlags,
  [in]           LANGID           LangId
);

Parameter

[in, optional] hModule

Typ: HMODULE-

Das Handle zu einem Modul, das durchsucht werden soll. In der Regel handelt es sich um eine LN-Datei, und wenn die Kennzeichnung RESOURCE_ENUM_MUI festgelegt ist, können die entsprechenden MUI-Dateien in die Suche einbezogen werden. Alternativ kann dies ein Handle für eine MUI-Datei oder eine andere LN-Datei sein.

Wenn dieser Parameter NULL-ist, entspricht es dem Übergeben eines Handles an das Modul, das zum Erstellen des aktuellen Prozesses verwendet wird.

[in] lpEnumFunc

Typ: ENUMRESTYPEPROC

Ein Zeiger auf die Rückruffunktion, die für jeden aufgezählten Ressourcentyp aufgerufen werden soll. Weitere Informationen finden Sie unter EnumResTypeProc.

[in] lParam

Typ: LONG_PTR

Ein anwendungsdefinierter Wert, der an die Rückruffunktion übergeben wird.

[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.

Wert Bedeutung
RESOURCE_ENUM_MUI
0x0002
Suchen Sie nach Ressourcentypen in einer der MUI-Dateien, die der durch hModule- angegebenen Datei zugeordnet sind, und mit den aktuellen Spracheinstellungen nach der üblichen Ressourcenladeprogrammstrategie (siehe Benutzeroberflächen-Sprachverwaltung). Wenn LangId nicht null ist, wird nur die MUI-Datei der Sprache durchsucht, wie durch LangId- angegeben. 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 der Kennzeichnung tatsächlich vom RESOURCE_ENUM_LN Flag abgedeckt.
RESOURCE_ENUM_LN
0x0001
Durchsucht nur die durch hModuleangegebene Datei, unabhängig davon, ob es sich bei der Datei um eine LN-Datei oder eine MUI-Datei handelt.
RESOURCE_ENUM_VALIDATE
0x0008
Führt eine zusätzliche Überprüfung für den Ressourcenabschnitt und dessen Verweis im PE-Header durch, während die Enumeration ausgeführt wird, um sicherzustellen, dass Ressourcen ordnungsgemäß formatiert sind. Die Überprüfung legt für jeden Typ, der aufgezählt wird, einen Höchstwert von 260 Zeichen fest.

[in] LangId

Typ: LANGID-

Die Sprache, die zum Filtern der Suche im MUI-Modul verwendet wird. Dieser Parameter wird nur verwendet, wenn das RESOURCE_ENUM_MUI Flag in dwFlagsfestgelegt wird. Wenn Null angegeben ist, werden alle MUI-Dateien, die den aktuellen Spracheinstellungen entsprechen, in die Suche einbezogen, und zwar nach der üblichen Strategie des Ressourcenladeprogramms (siehe Benutzeroberflächen-Sprachverwaltung). 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 erfolgreich oder FALSE, 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

Die EnumResourceTypesEx-Funktion führt weiterhin Ressourcentypen auf, bis die Rückruffunktion FALSE- zurückgibt oder alle Ressourcentypen aufgezählt wurden.

Wenn hModule- eine LN-Datei angibt und beide Flags ausgewählt sind, entsprechen die aufgezählten Typen ressourcen, die sich entweder in der LN-Datei oder in den zugehörigen MUI-Dateien befinden. Wenn keine MUI-Dateien gefunden werden, werden nur Typen aus der LN-Datei zurückgegeben. Sobald eine entsprechende MUI-Datei gefunden wurde, wird die Suche nicht weiter fortgesetzt, da alle MUI-Dateien, die einer einzelnen LN-Datei entsprechen, dieselben Ressourcentypen aufweisen.

Wenn dwFlags und Lang Id beide null sind, verhält sich die Funktion wie EnumResourceTypes.

Wenn 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 libloaderapi.h-Header definiert EnumResourceTypesEx 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

EnumResTypeProc

EnumResourceLanguagesEx

EnumResourceNamesEx-

EnumResourceTypes

Referenz-

Ressourcen