Автоматизация

Языки сценариев, как правило, не работают напрямую с COM, они используют объекты, поддерживающие технологию под названием автоматизация.

Автоматизация обеспечивает простой доступ к объектам COM из сценарных языков. Автоматизация - это надстройка над COM. Сервер автоматизации - объект COM с реализованным интерфейсом IDispatch. Контроллер автоматизации - клиент COM, взаимодействующий с сервером через этот интерфейс.

Сервер автоматизации принимает от контроллера имя функции, осуществляет проверку типов и выполняет эту функцию. Отличие этого подхода в том, что системе, создавшей объект, не требуется знать конкретный COM-интерфейс объекта, а можно общаться с объектом через стандартный интерфейс IDispath.

Далее описаны некоторые типы данных, предусмотренные этой технологией.

Тип данных Описание
LONG Целое 32-битное число со знаком
ULONG Целое 32-битное число без знака
BYTE Целое 8-битное число без знака
CHAR Целое 8-битное число со знаком
SHORT Целое 16-битное число со знаком
USHORT Целое 16-битное число без знака
INT Целое число со знаком (предполагается что число бит зависит от архитектуры компьютера)
UINT Целое число без знака
LONGLONG Целое 64-битное число со знаком (некоторые скриптовые языки не поддерживают этот тип как и ULONGLONG, поэтому в целях совместимости он не используется в WSO)
ULONGLONG Целое 64-битное число без знака
FLOAT Вещественное число с плавающей точкой занимающее 4 байта
DOUBLE Вещественное число с плавающей точкой занимающее 8 байт
VARIANT_BOOL Логический тип
CY Вещественное число с фиксированной точкой (8 байт)
DATE Дата\Время, представляет собой вещественное число с плавающей точкой типа DOUBLE, целая часть – число дней с начала точки отсчета - 30.12.1989, дробная – время дня, непример: 1 января 1900 года имеет значение 2.0, 1 января 1900 года 12 часов имеет значение 2.5
BSTR Строка (используется кодировка Unicode)
IDispatch* Указатель на интерфейс COM объекта, поддерживающего технологию "автоматизация"
IUnknown* Указатель на интерфейс произвольного COM объекта
SAFEARRAY(VARIANT) Массив данных типа VARIANT, если этот тип имеет параметр метода объекта WSO то значит, этот метод поддерживает как массив, так и переменный список параметров
VARIANT Тип данных неопределен


Документация по WSO 1.1. Последние изменения:Wed Aug 12 18:10:22 2015. (C) Веретенников А. Б. 2004-2015