Функция EnumResourceTypesExA (libloaderapi.h)
Перечисляет типы ресурсов, связанные с указанным двоичным модулем. Поиск может включать как нейтрализуемый языком переносимый исполняемый файл (LN-файл), так и связанные с ним ФАЙЛЫ MUI. Кроме того, он может быть ограничен одним двоичным модулем любого типа или файлами MUI, связанными с одним LN-файлом. Поиск также может быть ограничен одним связанным mui-файлом, который содержит ресурсы для определенного языка.
Для каждого найденного типа ресурса EnumResourceTypesEx вызывает определяемую приложением функцию обратного вызова lpEnumFunc, передав тип ресурса, который он находит, а также различные другие параметры, переданные EnumResourceTypesEx.
Синтаксис
BOOL EnumResourceTypesExA(
[in, optional] HMODULE hModule,
[in] ENUMRESTYPEPROCA lpEnumFunc,
[in] LONG_PTR lParam,
[in] DWORD dwFlags,
[in] LANGID LangId
);
Параметры
[in, optional] hModule
Тип: HMODULE
Дескриптор модуля для поиска. Как правило, это LN-файл, и если задан флаг RESOURCE_ENUM_MUI, то в поиск можно включить соответствующие ФАЙЛЫ MUI. Кроме того, это может быть дескриптор mui-файла или другого LN-файла.
Если этот параметр null, он эквивалентен передаче дескриптора модулю, используемому для создания текущего процесса.
[in] lpEnumFunc
Тип: ENUMRESTYPEPROC
Указатель на функцию обратного вызова для каждого перечисленного типа ресурса. Дополнительные сведения см. в разделе EnumResTypeProc.
[in] lParam
Тип: LONG_PTR
Определяемое приложением значение, переданное функции обратного вызова.
[in] dwFlags
Тип: DWORD
Тип файла для поиска. Поддерживаются следующие значения. Обратите внимание, что если dwFlags равно нулю, предполагается, что будут указаны флаги RESOURCE_ENUM_LN и RESOURCE_ENUM_MUI.
[in] LangId
Тип: LANGID
Язык, используемый для фильтрации поиска в модуле MUI. Этот параметр используется только в том случае, если флаг RESOURCE_ENUM_MUI задан в dwFlags. Если указано ноль, все файлы MUI, соответствующие текущим языковым предпочтениям, включены в поиск, следуя обычной стратегии загрузки ресурсов (см. управления языком пользовательского интерфейса). Если указан ненулевой LangId, то единственным поиском по моди-файлу будет тот, который соответствует указанному LangId.
Возвращаемое значение
Тип: BOOL
Возвращает TRUE, если функция успешно или FALSE, если функция не находит ресурс указанного типа или если функция завершается ошибкой по другой причине. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Замечания
Функция enumResourceTypesEx продолжает перечислять типы ресурсов, пока функция обратного вызова не возвращает false или все типы ресурсов.
Если hModule указывает LN-файл, а оба флага выбраны, перечисленные типы соответствуют ресурсам, находящимся в LN-файле или в файлах MUI, связанных с ним. Если файлы MUI не найдены, возвращаются только типы из LN-файла. После того как один соответствующий MUI-файл найден, поиск не будет продолжаться дальше, так как все ФАЙЛЫ MUI, соответствующие одному LN-файлу, имеют одинаковые типы ресурсов.
Если dwFlags и LangId равно нулю, функция ведет себя как EnumResourceTypes.
Если LangId ненулевое, будет выполняться поиск только муи-файла, соответствующего этому идентификатору языка. Резервные копии языков не будут использоваться. Если mui-файл для этого языка не существует, перечисление будет пустым (если ресурсы для этого языка не существуют в LN-файле, а флаг также будет выполнять поиск файла LN).
Перечисление никогда не включает дубликаты: если ресурсы для определенного языка содержатся как в LN-файле, так и в mui-файле, тип будет перечислен только один раз.
Примеры
Пример см. в разделе Создание списка ресурсов.
Заметка
Заголовок libloaderapi.h определяет EnumResourceTypesEx как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2008 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | libloaderapi.h (включая Windows.h) |
библиотеки |
Kernel32.lib |
DLL | Kernel32.dll |
См. также
концептуальные
Справочник