ExamineLibraryFunctions()
Синтаксис
Result = ExamineLibraryFunctions(#Library)
Описание
Создаёт список функций, содержащихся в указанной библиотеке, для последующего просмотра параметров функций. Указанная библиотека должна быть ранее открыта с помощью функции OpenLibrary().
Параметры
#Library Номер для идентификации исследуемой библиотеки. Этот Номер должен совпадать с тем, что ранее был использован в функции OpenLibrary(), при открытии этой библиотеки.
Возвращаемое значение
Возвращает не нулевое значение, если функции библиотеки могут быть исследованы, и возвращает ноль - если их просмотреть невозможно.
Комментарии
Если эта функция сработает успешно, программист сможет шаг за шагом просмотреть функции библиотеки с помощью команды NextLibraryFunction(). В ходе просмотра можно получить информацию о каждой функции, такую как имя и адрес, с помощью команд LibraryFunctionName() и LibraryFunctionAddress() соответственно.
Пример для Windows
Define Num = OpenLibrary(#PB_Any, "user32.dll") ; Открывает библиотеку user32.dll и запоминает сгенерированный Номер в переменную Num If ExamineLibraryFunctions(Num) ; Начинает просмотр содержимого библиотеки While NextLibraryFunction() ; Осуществляет цикл, с пошаговым просмотром каждой функции библиотеки a$=Hex(LibraryFunctionAddress()) b$=LibraryFunctionName() Debug "HEX Адрес: ( " + a$ + " ) -- имя функции: " + b$ ; Печать адресов и имён всех функций библиотеки Wend ; конец цикла EndIf Debug "Всего функций: " + CountLibraryFunctions(Num) ; Выводит общее количество функций библиотеки If IsLibrary(Num) ; Проверка, открыта ли библиотека CloseLibrary(Num) ; Закрытие библиотеки EndIf
См. также
NextLibraryFunction(), LibraryFunctionAddress(), LibraryFunctionName()
Поддерживаемые OS
Windows, Linux