Функция обратного вызова ENUMRESNAMEPROCA (libloaderapi.h)

Определяемая приложением функция обратного вызова, используемая с функциями EnumResourceNames и EnumResourceNamesEx . Он получает тип и имя ресурса. Тип ENUMRESNAMEPROC определяет указатель на эту функцию обратного вызова. EnumResNameProc — это заполнитель для имени определяемой приложением функции.

Синтаксис

ENUMRESNAMEPROCA Enumresnameproca;

BOOL Enumresnameproca(
  [in, optional] HMODULE hModule,
                 LPCSTR lpType,
                 LPSTR lpName,
  [in]           LONG_PTR lParam
)
{...}

Параметры

[in, optional] hModule

Тип: HMODULE

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

lpType

Тип: LPCTSTR

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

lpName

Тип: LPTSTR

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

[in] lParam

Тип: LONG_PTR

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

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

Тип: BOOL

Возвращает значение TRUE для продолжения перечисления или FALSE для остановки перечисления.

Комментарии

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

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

Приложение должно зарегистрировать эту функцию, передав ее адрес функции EnumResourceNames или EnumResourceNamesEx .

Если функция обратного вызова возвращает значение FALSE, то EnumResourceNames или EnumResourceNamesEx остановит перечисление и вернет значение FALSE. В Windows XP и более ранних версиях значение, полученное из GetLastError , будет ERROR_SUCCESS; Начиная с Windows Vista последнее значение ошибки будет ERROR_RESOURCE_ENUM_USER_STOP.

Примечание

Заголовок libloaderapi.h определяет ENUMRESNAMEPROC в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

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

См. также раздел

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

EnumResourceNames

EnumResourceNamesEx

IS_INTRESOURCE

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

Ресурсы