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


Функция EnumResourceLanguagesA (winbase.h)

Перечисляет ресурсы, относящиеся к языку, указанного типа и имени, связанного с двоичным модулем.

Синтаксис

BOOL EnumResourceLanguagesA(
  [in] HMODULE          hModule,
  [in] LPCSTR           lpType,
  [in] LPCSTR           lpName,
  [in] ENUMRESLANGPROCA lpEnumFunc,
  [in] LONG_PTR         lParam
);

Параметры

[in] hModule

Тип: HMODULE

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

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

[in] lpType

Тип: LPCTSTR

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

[in] lpName

Тип: LPCTSTR

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

[in] lpEnumFunc

Тип: ENUMRESLANGPROC

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

[in] lParam

Тип: LONG_PTR

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

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

Тип: BOOL

Возвращает TRUE, если успешно или FALSE. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.

Замечания

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

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

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

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

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

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

В Windows Vista и более поздних версиях, если hModule указывает LN-файл, то перечисленные ресурсы могут находиться в LN-файле или в файле MUI, связанном с ним. Если файлы MUI не найдены, возвращаются только ресурсы из LN-файла. В отличие от EnumResourceNames и EnumResourceTypes, поиск будет рассматриваться в нескольких файлах mui. Перечисление начинается с мюи-файлов в папках, связанных с EnumUILanguages. За ними следует любой другой MI-файл, пути которого соответствуют схеме, описанной в muI Resource Management. Наконец, файл, назначенный hModule, также выполняется поиск.

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

Примеры

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

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winbase.h (включая Windows.h)
библиотеки Kernel32.lib
DLL Kernel32.dll

См. также

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

EnumResLangProc

EnumResourceLanguagesEx

EnumResourceNames

EnumResourceTypes

Справочник

ресурсов