Функция EnumResourceNamesW (libloaderapi.h)

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

Синтаксис

BOOL EnumResourceNamesW(
  [in, optional] HMODULE          hModule,
  [in]           LPCWSTR          lpType,
  [in]           ENUMRESNAMEPROCW lpEnumFunc,
  [in]           LONG_PTR         lParam
);

Параметры

[in, optional] hModule

Тип: HMODULE

Дескриптор модуля для поиска. Начиная с Windows Vista, если это LN-файл, в поиск включаются соответствующие MUI-файлы (если таковые существуют).

Если этот параметр имеет значение NULL, это эквивалентно передаче дескриптора в модуль, используемый для создания текущего процесса.

[in] lpType

Тип: LPCTSTR

Тип ресурса, для которого перечисляется имя. Кроме того, вместо указателя этот параметр может быть MAKEINTRESOURCE(ID), где ID — это целочисленное значение, представляющее предопределенный тип ресурса. Список стандартных типов ресурсов см. в разделе Типы ресурсов. Дополнительные сведения см. в разделе Примечания ниже.

[in] lpEnumFunc

Тип: ENUMRESNAMEPROC

Указатель на функцию обратного вызова, вызываемую для каждого перечисленного имени или идентификатора ресурса. Дополнительные сведения см. в разделе ENUMRESNAMEPROC.

[in] lParam

Тип: LONG_PTR

Определяемое приложением значение, передаваемое функции обратного вызова. Этот параметр можно использовать при проверке ошибок.

Возвращаемое значение

Тип: BOOL

Возвращаемое значение равно TRUE , если функция завершается успешно, или FALSE , если функция не находит ресурс указанного типа или если функция завершается сбоем по другой причине. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Если IS_INTRESOURCE(lpszType) имеет значение TRUE, то lpszType задает целочисленный идентификатор заданного типа ресурса. В противном случае это указатель на строку, завершаемую null. Если первым символом строки является знак фунта (#), то остальные символы представляют десятичное число, задающее целочисленный идентификатор типа ресурса. Например, строка "No 258" представляет идентификатор 258.

Для каждого найденного ресурса EnumResourceNames вызывает определяемую приложением функцию обратного вызова lpEnumFunc, передавая имя или идентификатор каждого найденного ресурса, а также различные другие параметры, переданные в EnumResourceNames.

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

Если ресурс имеет идентификатор, идентификатор передается в функцию обратного вызова; в противном случае имя ресурса передается в функцию обратного вызова. Дополнительные сведения см. в разделе ENUMRESNAMEPROC.

Функция EnumResourceNames продолжает перечислять ресурсы, пока функция обратного вызова не вернет значение FALSE или не будут перечислены все ресурсы.

Начиная с Windows Vista, если hModule указывает LN-файл, перечисляемые ресурсы могут находиться либо в LN-файле, либо в mui-файле, связанном с ним. Если MUI-файлы не найдены, возвращаются только ресурсы из LN-файла. Порядок, в котором выполняется поиск в MUI-файлах, соответствует обычному порядку поиска загрузчика ресурсов; Дополнительные сведения см. в разделе Управление языком пользовательского интерфейса . После того как будет найден соответствующий MUI-файл, поиск в MUI-файле останавливается. Так как все MUI-файлы, соответствующие одному LN-файлу, имеют одинаковые типы ресурсов, необходимо перечислить только ресурсы в найденном MUI-файле.

Перечисление никогда не включает дубликаты: если ресурсы с одинаковым именем содержатся как в LN-файле, так и в MUI-файле, ресурс будет перечислен только один раз.

Примеры

Пример см. в разделе Создание списка ресурсов.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header libloaderapi.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

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

Ссылка