Функция EnumResourceNamesExA (libloaderapi.h)
Перечисляет ресурсы указанного типа, связанного с указанным двоичным модулем. Поиск может включать как LN-файл, так и связанные с ним .mui-файлы, или его можно ограничить несколькими способами.
Синтаксис
BOOL EnumResourceNamesExA(
[in, optional] HMODULE hModule,
LPCSTR lpType,
[in] ENUMRESNAMEPROCA lpEnumFunc,
[in] LONG_PTR lParam,
[in] DWORD dwFlags,
[in] LANGID LangId
);
Параметры
[in, optional] hModule
Тип: HMODULE
Дескриптор модуля для поиска. Как правило, это LN-файл, и если задан флаг RESOURCE_ENUM_MUI, в поиск включаются соответствующие ФАЙЛЫ MUI. Кроме того, это может быть дескриптор mui-файла или другого LN-файла.
Если этот параметр null, он эквивалентен передаче дескриптора модулю, используемому для создания текущего процесса.
lpType
Тип: LPCSTR
Тип ресурса, для которого перечисляется имя. Кроме того, вместо указателя этот параметр может быть
[in] lpEnumFunc
Тип: ENUMRESNAMEPROC
Указатель на функцию обратного вызова для каждого перечисленного имени ресурса. Дополнительные сведения см. в разделе EnumResNameProc.
[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.
Замечания
Если IS_INTRESOURCE(lpszType) true, то lpszType указывает целый идентификатор заданного типа ресурса. В противном случае это указатель на строку, завершаемую значением NULL. Если первый символ строки является знаком фунта (#), остальные символы представляют десятичное число, указывающее
целочисленный идентификатор типа ресурса. Например, строка "#258" представляет идентификатор 258.
Поиск перечисления может включать как LN-файл, так и связанные с ним .mui-файлы. Его можно ограничить одним двоичным модулем любого типа. Он также может быть ограничен файлами MUI, связанными с одним LN-файлом. Указав LN-файл для параметра hModule и ненулевого LangId, поиск может быть ограничен уникальным файлом MUI, связанным с этим LN-файлом и языком.
Для каждого найденного ресурса EnumResourceNamesEx вызывает определяемую приложением функцию обратного вызова lpEnumFunc, передав имя или идентификатор каждого найденного ресурса, а также различные другие параметры, переданные EnumResourceNamesEx.
Если ресурс имеет идентификатор, идентификатор возвращается в функцию обратного вызова; в противном случае имя ресурса возвращается функции обратного вызова. Дополнительные сведения см. в разделе EnumResNameProc.
Функция enumResourceNamesEx продолжает перечислять имена ресурсов, пока функция обратного вызова не возвращает false или все имена ресурсов этого типа.
Если hModule указывает LN-файл, а оба флага выбраны, имена, перечисленные, соответствуют ресурсам, находящимся в этом LN-файле или в файлах MUI, связанных с ним. Если файлы MUI не найдены, возвращаются только имена из LN-файла. После того как будет найден один соответствующий MUI-файл, поиск не продолжится, так как все ФАЙЛЫ MUI, соответствующие одному LN-файлу, имеют одинаковые имена ресурсов.
Если dwFlags и LangId равно нулю, функция ведет себя как EnumResourceNames.
Если LangId является ненулевой, будет искать только mui-файл, соответствующий этому идентификатору языка. Резервные копии языков не будут использоваться. Если mui-файл для этого языка не существует, перечисление будет пустым (если ресурсы для этого языка не существуют в LN-файле, а флаг также будет выполнять поиск файла LN).
Перечисление никогда не включает дубликаты: если ресурсы для определенного языка содержатся как в LN-файле, так и в mui-файле, имя будет перечислено только один раз.
Примеры
Пример см. в разделе Создание списка ресурсов.
Заметка
Заголовок libloaderapi.h определяет EnumResourceNamesEx как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2008 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | libloaderapi.h (включая Windows.h) |
библиотеки |
Kernel32.lib |
DLL | Kernel32.dll |
См. также
концептуальные
Справочник