LibraryFunctionAddress()
Синтаксис
*Result = LibraryFunctionAddress()
Описание
Возвращает адрес текущей функции в библиотеке, просматриваемой с помощью функций ExamineLibraryFunctions() и NextLibraryFunction().
Параметры
Ничего.
Возвращаемое значение
Возвращает адрес в памяти текущей функции из библиотеки, который можно использовать как параметр для функций CallFunctionFast() или CallCFunctionFast().
Комментарии
Функция может быть вызвана по её адресу используя прототипы. Функции CallFunctionFast() и CallCFunctionFast() также могут быть использованы для этого, но прототипы являются рекомендуемым методом, поскольку они более гибкие.
Пример для 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
См. также
ExamineLibraryFunctions(), NextLibraryFunction(), LibraryFunctionName(), CallFunctionFast(), CallCFunctionFast()
Поддерживаемые OS
Windows, Linux