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


Функция обратного вызова 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)

См. также

концептуальные

EnumResourceNames

EnumResourceNamesEx

IS_INTRESOURCE

Справочник

ресурсов