Следующая таблица показывает, как MATLAB® преобразовывает данные от MATLAB до типов COM.
| Тип MATLAB | Самый близкий тип COM | Позволенные типы |
|---|---|---|
| указатель | VT_DISPATCHVT_UNKNOWN | VT_DISPATCHVT_UNKNOWN |
| символьный вектор | VT_BSTR | VT_LPWSTRVT_LPSTRVT_BSTRVT_FILETIMEVT_ERRORVT_DECIMALVT_CLSIDVT_DATE |
int16 | VT_I2 | VT_I2 |
uint16 | VT_UI2 | VT_UI2 |
int32 | VT_I4 | VT_I4VT_INT |
uint32 | VT_UI4 | VT_UI4VT_UINT |
int64 | VT_I8 | VT_I8 |
uint64 | VT_UI8 | VT_UI8 |
единственный | VT_R4 | VT_R4 |
'double' | VT_R8 | VT_R8VT_CY |
логический | VT_BOOL | VT_BOOL |
| 'char' | VT_I1 | VT_I1VT_UI1 |
variant является любым типом данных кроме структуры или разреженного массива. (Для получения дополнительной информации смотрите Основной принцип Классы MATLAB.)
Когда используется в качестве входного параметра, MATLAB обрабатывает variant и variant (указатель) тот же путь.
Если вы передаете пустой массив ([]) типа double, MATLAB создает variant (указатель) набор к VT_EMPTY. Передача пустого массива любого другого числового типа не поддержана.
| Аргумент MATLAB | Самый близкий тип COM | Позволенные типы |
|---|---|---|
variant | VT_VARIANT | VT_VARIANTVT_USERDEFINEDVT_ARRAY |
variant (указатель) | VT_VARIANT | VT_VARIANT | VT_BYREF |
Когда метод COM идентифицирует SAFEARRAY или SAFEARRAY (указатель), эквивалентный MATLAB является матрицей.
| Аргумент MATLAB | Самый близкий тип COM | Позволенные типы |
|---|---|---|
SAFEARRAY | VT_SAFEARRAY | VT_SAFEARRAY |
SAFEARRAY (указатель) | VT_SAFEARRAY | VT_SAFEARRAY | VT_BYREF |
MATLAB не поддерживает следующие типы COM.
Структура
Разреженный массив
Многомерный SAFEARRAY s (больше, чем две размерности)
Свойства только для записи