Функция обратного вызова 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) |
См. также раздел
Основные понятия
Справочные материалы