Автоматизация обеспечивает простой доступ к объектам 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 | Тип данных неопределен |