Поделиться через


Функция EnumResourceTypesW (winbase.h)

Перечисляет типы ресурсов в двоичном модуле. Начиная с Windows Vista, обычно это не зависящий от языка переносимый исполняемый файл (LN-файл ), и перечисление также включает ресурсы из одного из соответствующих файлов ресурсов для конкретного языка (MUI-файлов), если они существуют, которые содержат локализуемые языковые ресурсы. Кроме того, можно использовать hModule для указания MUI-файла. В этом случае поиск типов ресурсов выполняется только в этом файле.

Кроме того, приложения могут вызывать EnumResourceTypesEx, что обеспечивает более точный контроль над файлами ресурсов для перечисления.

Синтаксис

BOOL EnumResourceTypesW(
  [in, optional] HMODULE          hModule,
  [in]           ENUMRESTYPEPROCW 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

См. также

Основные понятия

EnumResTypeProc

EnumResourceLanguages

EnumResourceNames

EnumResourceTypesEx

Справочные материалы

Ресурсы