Функция ObjCreateInterface

         Описание функции

Внимание: эта возможность присутствует только для теста. Она может не работать, содержать баги и может быть изменена в будущем без какого-либо предварительного уведомления.

НЕ ПРИСЫЛАЙТЕ СООБЩЕНИЯ ОБ ОШИБКАХ ИЛИ ПРОСЬБЫ ОБ ИЗМЕНЕНИИ ФУНКЦИОНАЛА.

ИСПОЛЬЗУЙТЕ НА СВОЙ СТРАХ И РИСК.

ObjCreateInterface

Создает ссылку на объект из указанных classname/object указателя, идентификатора интерфейса и строки описания.

ObjCreateInterface ( "CLSID" , "IID" [, "interface_description",[ flag = True ]] )

Параметры

CLSID Идентификатор класса или указатель на объект. Если это идентификатор класса это может быть любой ProgID или строковое представление CLSID.
IID Строковое представление идентификатора интерфейса.
interface_description [необязательный] Строка, описывающая таблицу v-table объекта. Используйте ключевое слово Default для доступа IDispatch для двойного интерфейса.
flag [необязательный] True - значение по умолчанию, означает, что интерфейс объекта наследуется от IUnknown.

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

Успех:Возвращает объект.
Ошибка:Возвращает 0 и устанавливает @error не равным нулю.

Примечания

ObjCreateInterface создает объекты с методами, которые перечислены в строке описания интерфейса.
Для COM объектов (на основе IUnknown) первые три метода всегда являются QueryInterface, AddRef и Release. Не указывайте их в строке описания.

Методы, перечисленные в строке описания должны быть в порядке v-table интерфейса. Если вы предоставляете недопустимое или неправильное описание AutoIt может стать нестабильным или завершится крахом.

Формат строки описания следующий:
$sTagInterface = "MethodName1 RetType(ParamType1;ParamType2;...); MethodName2 RetType(..."

По умолчанию, AutoIt использует метод вызова 'stdcall' для COM. Для использования метода 'cdecl' вставьте ':cdecl' после возвращаемого типа.

Допустимые типы:

Тип Описание
none нет значения (только для возвращения типа параметра - эквивалентно void в C)
byte беззнаковое 8 битное целое
boolean беззнаковое 8 битное целое
short 16 битное целое
word, ushort беззнаковое 16 битное целое
int, long 32 битное целое
bool 32 битное целое
dword, ulong, uint беззнаковое 32 битное целое
hresult 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 символа).
bstr a composite data type that consists of a length prefix, a data string and a terminator
variant a tagged union that can be used to represent any other data type
idispatch, object a composite data type that represents object with IDispatch interface
clsid 128-bit integer in form of GUID string
struct Структура созданная функцией DllStructCreate()
* Добавьте * в конце другого типа, чтобы передать его ссылкой. Например "int*" передает указатель на тип "int".

Смотрите Описание Obj/COM для получения дополнительной информации об объектах.

См. также

ObjCreate