EnumResourceNamesExW-Funktion (libloaderapi.h)
Listet Ressourcen eines angegebenen Typs auf, die einem angegebenen Binärmodul zugeordnet sind. Die Suche kann sowohl eine LN-Datei als auch die zugehörigen MUI-Dateien enthalten, oder sie kann auf verschiedene Arten eingeschränkt werden.
Syntax
BOOL EnumResourceNamesExW(
[in, optional] HMODULE hModule,
LPCWSTR lpType,
[in] ENUMRESNAMEPROCW lpEnumFunc,
[in] LONG_PTR lParam,
[in] DWORD dwFlags,
[in] LANGID LangId
);
Parameter
[in, optional] hModule
Typ: HMODULE-
Das Handle zu einem zu durchsuchenden Modul. In der Regel handelt es sich um eine 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 dieser Parameter NULL-ist, entspricht es dem Übergeben eines Handles an das Modul, das zum Erstellen des aktuellen Prozesses verwendet wird.
lpType
Typ: LPCTSTR-
Der Typ der Ressource, für die der Name aufgezählt wird. Alternativ kann dieser Parameter anstelle eines Zeigers
[in] lpEnumFunc
Typ: ENUMRESNAMEPROC
Ein Zeiger auf die Rückruffunktion, die für jeden aufgezählten Ressourcennamen aufgerufen werden soll. Weitere Informationen finden Sie unter EnumResNameProc.
[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 Typ der zu durchsuchenden Datei. 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 |
---|---|
|
Suchen Sie nach Ressourcen in MUI-Dateien, die der LN-Datei zugeordnet sind, die durch hModule und mit den aktuellen Spracheinstellungen gemäß der üblichen Ressourcenladestrategie (siehe Benutzeroberflächen-Sprachverwaltung). Wenn LangId ungleich Null ist, wird stattdessen nur die angegebene MUI-Datei durchsucht. 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. |
|
Durchsucht die durch hModuleangegebene Datei, unabhängig davon, ob es sich bei der Datei um eine LN-Datei, einen anderen LN-Dateityp oder eine MUI-Datei handelt. |
|
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 Namen, der aufgezählt wird, einen Höchstwert von 260 Zeichen fest. |
[in] LangId
Typ: LANGID-
Die Lokalisierungssprache, 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-
Die Funktion TRUE bei erfolgreicher Ausführung 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
Wenn IS_INTRESOURCE(lpszType) TRUEist, gibt lpszType 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.
Die Enumerationssuche kann sowohl eine LN-Datei als auch die zugehörigen MUI-Dateien enthalten. Sie kann auf ein einzelnes binäres Modul eines beliebigen Typs beschränkt werden. Sie kann auch auf die MUI-Dateien beschränkt werden, die einer einzelnen LN-Datei zugeordnet sind. Durch Angeben einer LN-Datei für den hModule--Parameter und ein nonzero LangId Parameter kann die Suche auf die eindeutige MUI-Datei beschränkt werden, die dieser LN-Datei und -Sprache zugeordnet ist.
Für jede gefundene Ressource ruft EnumResourceNamesEx eine anwendungsdefinierte Rückruffunktion lpEnumFuncauf, wobei der Name oder die ID jeder gefundenen Ressource übergeben wird, sowie die verschiedenen anderen Parameter, die an EnumResourceNamesExübergeben wurden.
Wenn eine Ressource über eine ID verfügt, wird die ID an die Rückruffunktion zurückgegeben. andernfalls wird der Ressourcenname an die Rückruffunktion zurückgegeben. Weitere Informationen finden Sie unter EnumResNameProc.
Die funktion "EnumResourceNamesEx" wird weiterhin ressourcennamen aufgezählt, bis die Rückruffunktion FALSE- zurückgibt oder alle Ressourcennamen für diesen Typ aufgezählt wurden.
Wenn hModule- eine LN-Datei angibt und beide Flags ausgewählt sind, entsprechen die aufgezählten Namen ressourcen, die sich entweder in dieser LN-Datei befinden, oder den zugehörigen MUI-Dateien. Wenn keine MUI-Dateien gefunden werden, werden nur Namen aus der LN-Datei zurückgegeben. Nachdem eine entsprechende MUI-Datei gefunden wurde, wird die Suche nicht weiter fortgesetzt, da alle MUI-Dateien, die einer einzelnen LN-Datei entsprechen, dieselben Ressourcennamen haben.
Wenn dwFlags und LangId- beide null sind, verhält sich die Funktion wie EnumResourceNames.
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 Name nur einmal aufgezählt.
Beispiele
Ein Beispiel finden Sie unter Erstellen einer Ressourcenliste.
Anmerkung
Der libloaderapi.h-Header definiert EnumResourceNamesEx 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-