Функция EnumResourceTypesA (winbase.h)
Перечисляет типы ресурсов в двоичном модуле. Начиная с Windows Vista, обычно это не зависящий от языка переносимый исполняемый файл (LN-файл ), и перечисление также включает ресурсы из одного из соответствующих файлов ресурсов для конкретного языка (MUI-файлов), если они существуют, которые содержат локализуемые языковые ресурсы. Кроме того, можно использовать hModule для указания MUI-файла. В этом случае поиск типов ресурсов выполняется только в этом файле.
Кроме того, приложения могут вызывать EnumResourceTypesEx, что обеспечивает более точный контроль над файлами ресурсов для перечисления.
Синтаксис
BOOL EnumResourceTypesA(
[in, optional] HMODULE hModule,
[in] ENUMRESTYPEPROCA lpEnumFunc,
[in] LONG_PTR lParam
);
Параметры
[in, optional] hModule
Тип: HMODULE
Дескриптор модуля для поиска. Этот дескриптор необходимо получить с помощью LoadLibrary или LoadLibraryEx.
Дополнительные сведения см. в разделе "Примечания".
Если этот параметр имеет значение NULL, это эквивалентно передаче дескриптора в модуль, используемый для создания текущего процесса.
[in] lpEnumFunc
Тип: ENUMRESTYPEPROC
Указатель на функцию обратного вызова, вызываемую для каждого перечислимого типа ресурса. Дополнительные сведения см. в статье о функции EnumResTypeProc .
[in] lParam
Тип: LONG_PTR
Определяемое приложением значение, передаваемое функции обратного вызова.
Возвращаемое значение
Тип: BOOL
Возвращает значение TRUE при успешном выполнении; в противном случае — FALSE. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Для каждого найденного типа ресурса EnumResourceTypes вызывает определяемую приложением функцию обратного вызова lpEnumFunc, передавая каждый найденный тип ресурса, а также различные другие параметры, которые были переданы в EnumResourceTypes.
EnumResourceTypes продолжает перечислять типы ресурсов до тех пор, пока функция обратного вызова не вернет значение FALSE или не будут перечислены все типы ресурсов.
Начиная с Windows Vista, если hModule указывает LN-файл, то перечисленные типы соответствуют ресурсам, которые находятся в файле LN и в связанном с ним MUI-файле. Если MUI-файлы не найдены, возвращаются только типы из LN-файла. Порядок поиска в MUI-файлах соответствует обычному порядку поиска загрузчика ресурсов; Дополнительные сведения см. в разделе Управление языком пользовательского интерфейса . После обнаружения одного подходящего MUI-файла поиск не будет продолжен в других MUI-файлах, связанных с файлом LN, так как все MUI-файлы, соответствующие одному LN-файлу, имеют одинаковый набор типов ресурсов.
Перечисление никогда не содержит дубликатов: если указанный тип ресурса содержится как в LN-файле, так и в MUI-файле, тип перечисляется только один раз.
Примеры
Пример см. в разделе Создание списка ресурсов.
Примечание
Заголовок winbase.h определяет EnumResourceTypes в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winbase.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |
См. также
Основные понятия
Справочные материалы