Функция 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
Тип ресурса, для которого перечисляется язык. Кроме того, вместо указателя этот параметр может быть
[in] lpName
Тип: LPCTSTR
Имя ресурса, для которого перечисляется язык. Кроме того, вместо указателя этот параметр можно MAKEINTRESOURCE(идентификатор), где идентификатор является целым идентификатором ресурса. Дополнительные сведения см. в разделе "Примечания" ниже.
[in] lpEnumFunc
Тип: ENUMRESLANGPROC
Указатель на функцию обратного вызова для каждого перечисленного языка ресурсов. Дополнительные сведения см. в разделе EnumResLangProcA.
[in] lParam
Тип: LONG_PTR
Определяемое приложением значение, переданное функции обратного вызова. Этот параметр можно использовать при проверке ошибок.
Возвращаемое значение
Тип: BOOL
Возвращает
Замечания
Если 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 |
См. также
концептуальные
Справочник