PureBasic

CallCFunction()

Синтаксис

Result = CallCFunction(#Library , FunctionName$ [,Parameter1 [, Parameter2...]])

Описание


Вызывает функцию в указанной библиотеке по ее имени, с учётом соглашения о вызове 'cdecl'. Указанная библиотека должна быть ранее открыта с помощью функции OpenLibrary(), а вызываемая функция должна использовать соглашение о вызове 'cdecl' (соглашение, используемое языком C).

Параметры

#Library Номер для идентификации открытой библиотеки, из которой вызывается функция. Этот Номер должен совпадать с тем, что ранее был использован в функции OpenLibrary(), при открытии этой библиотеки.
FunctionName$ Строка, содержащая имя вызываемой функции. Имя функции - чувствительно к регистру.
Parameter1, Parameter2... Параметры для функции. Количество этих параметров должно совпадать с количеством параметров вызываемой функции. Максимальное количество поддерживаемых параметров равняется 20.

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

Возвращает Результат вызванной библиотечной функции, если библиотека не содержит функцию с указанным именем - возвратом будет 0.

Комментарии

Если функция библиотеки используют соглашение о вызове 'Cdecl', то эта команда подходит для вызова такой функции.
Однако большинство DLL в ОС Microsoft Windows используют соглашение о вызове 'stdcall', таким образом для них требуется функция CallFunction(). В отличие от Linux, все функции являются общими для 'Cdecl' библиотек.

Примечание: Эта функция не очень гибка и не обрабатывает string/float/double/quad параметры или string/float/double/quad возвращаемые значения. Настоятельно рекомендуется использование прототипов.

См. также

CallFunction(), GetFunction(), Прототипы

Поддерживаемые OS

Все

Оглавление Library - CallCFunctionFast() ->