DllCallAddress
Динамически вызывает функцию по указанному адресу памяти.
DllCallAddress ( "return type", address [, type1, param1 [, type n, param n ]] )
Параметры
return type | Тип возвращаемого значения функции (смотрите ниже). |
address |
Адрес функции. Если это значение будет неверным ваш скрипт завершится крахом! |
type1 |
[необязательный] Тип параметра (смотрите примечания). |
param1 |
[необязательный] Значение параметра (смотрите примечания). |
type n |
[необязательный] Тип n-ого параметра (смотрите примечания). |
param n |
[необязательный] Значение n-ого параметра (смотрите примечания). |
Тип | Описание |
none |
нет значения (только для возвращения типа параметра - эквивалентно void в C) |
BYTE |
беззнаковое 8 битное целое |
BOOLEAN |
беззнаковое 8 битное целое |
short |
16 битное целое |
USHORT |
беззнаковое 16 битное целое |
WORD |
беззнаковое 16 битное целое |
int |
32 битное целое |
long |
32 битное целое |
BOOL |
32 битное целое |
UINT |
беззнаковое 32 битное целое |
ULONG |
беззнаковое 32 битное целое |
DWORD |
беззнаковое 32 битное целое |
INT64 |
64 битное целое |
UINT64 |
беззнаковое 64 битное целое |
ptr |
общий указатель (void *) |
HWND |
дескриптор окна (pointer) |
HANDLE |
дескриптор (pointer) |
float |
число одинарной точности с плавающей точкой |
double |
число двойной точности с плавающей точкой |
INT_PTR, LONG_PTR, LRESULT, LPARAM |
большое целое число, достаточное для хранения указателя при запуске x86 или x64 версии AutoIt. |
UINT_PTR, ULONG_PTR, DWORD_PTR, WPARAM |
беззнаковое большое целое число, достаточное для хранения указателя при запуске x86 или x64 версии AutoIt. |
str |
ANSI строка (минимум выделяется 65536 символа). |
wstr |
UNICODE широкий символ строки (минимум выделяется 65536 символа). |
struct | Структура созданная функцией DllStructCreate() |
* |
Добавьте * в конце другого типа, чтобы передать его ссылкой. Например "int*" передает указатель на тип "int". |
Типы в WINDOWS API | Типы в AutoIt |
LPCSTR/LPSTR |
str |
LPCWSTR/LPWSTR |
wstr |
LPVOID |
ptr |
LPxyz |
xyz* |
HINSTANCE |
handle |
HRESULT |
long |
LONGLONG/LARGE_INTEGER |
INT64 |
ULONGLONG/ULARGE_INTEGER |
UINT64 |
SIZE_T |
ULONG_PTR |
Возвращаемое значение
Успех: | @error = 0. |
Ошибка: | Устанавливает @error |
@error: | 2 неизвестный возвращаемый тип (return type). |
4 неверное количество параметров. | |
5 неверный параметр. |
Примечания
По умолчанию, AutoIt использует метод вызова 'stdcall'. Для использования метода 'cdecl' вставьте ':cdecl' после возвращаемого типа.См. также
DllCall, DllCallbackFree, DllCallbackGetPtr, DllCallbackRegister, DllOpen, DllClose, DllStructCreate, DllStructGetPtr