PureBasic

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

<- CountLibraryFunctions() - Оглавление Library - GetFunction()->