Функция обратного вызова 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)
, где идентификатор представляет собой целочисленное значение, представляющее предопределенный тип ресурса. Сведения о стандартных типах ресурсов см. в типах ресурсов. Дополнительные сведения см. в разделе "Примечания" ниже.
lpName
Тип: LPTSTR
Имя ресурса перечисленного типа. Кроме того, вместо указателя этот параметр может быть MAKEINTRESOURCE(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 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | libloaderapi.h (включая Windows.h) |
См. также
концептуальные
Справочник