Ниже перечислены функции интерфейса ImaCell.
- GetType ([out,retval] maType* type)
- GetAsBoolean ([out,retval] boolean* value)
- GetAsLong ([out,retval] int* value)
- GetAsDouble ([out,retval] double* value)
- GetAsString ([out,retval] maString* value)
- SetAsBoolean ([in] boolean value)
- SetAsLong ([in] int value)
- SetAsDouble ([in] double value)
- SetAsString ([in] maString value)
- GetAsComponent ([in] maType type,[out,retval] IPersist** value)
- GetAsAnyComponent ([out,retval] IPersist** value)
- SetAsComponent ([in] maType type,[in] IPersist* value);
- SetAsAnyComponent ([in] IPersist* value);
- Copy ([in] ImaCell* cell)
- IsEmpty ()
- Clear ()
HRESULT GetType ([out,retval] maType* type)Функция возвращает тип значения ячейки.
Параметры:
type Указатель на возвращаемое значениеВозвращаемое значение:
MA_NOERROR всегдаHRESULT GetAsBoolean ([out,retval] boolean* value) HRESULT GetAsLong ([out,retval] int* value) HRESULT GetAsDouble ([out,retval] double* value) HRESULT GetAsString ([out,retval] maString* value)Функции считывают из ячейки значение соответствующего типа. При необходимости выполняется преобразование данных к нужному типу.
Параметры:
value Указатель не возвращаемое значениеВозвращаемое значение:
MA_NOERROR при отсутствии ошибокMA_ERR_ACCESS, если запрещено чтение из ячейки
Замечание:
Функция GetAsString может возвращать NULL, если ячейка пуста (тип MA_EMPTY) или в неё записана NULL строка функцией SetAsString.HRESULT SetAsBoolean ([in] boolean value) HRESULT SetAsLong ([in] int value) HRESULT SetAsDouble ([in] double value) HRESULT SetAsString ([in] maString value)Функции записывают в ячейку значение соответствующего типа и изменяет тип ячейки. Если в ячейке хранился компонент, число ссылок на него уменьшается на 1.
Параметры:
value Записываемое значениеВозвращаемое значение:
MA_NOERROR при отсутствии ошибокMA_ERR_ACCESS, если запрещена запись в ячейку
Замечание:
Аргумент функции SetAsString может быть == NULL. При этом тип ячейки будет MA_STRING.HRESULT GetAsComponent ([in] maType type,[out,retval] IPersist** value) HRESULT GetAsAnyComponent ([out,retval] IPersist** value)Функции считывают из ячейки хранящийся там компонент. Если в ячейке значение простого типа или типа MA_EMPTY, то обе функции возвращают NULL. Функция GetAsComponent также возвращает NULL, если в ячейке — компонент не типа type.
Параметры:
type Тип затребованного компонентаvalue Указатель не возвращаемое значение
Возвращаемое значение:
MA_NOERROR при отсутствии ошибокMA_ERR_ACCESS, если запрещено чтение из ячейки
HRESULT SetAsComponent ([in] maType type,[in] IPersist* value); HRESULT SetAsAnyComponent ([in] IPersist* value);Функции записывает компонент в ячейку. Тип ячейки устанавливается равным type (SetAsComponent) или типу, совместимому с любым компонентом (SetAsAnyComponent).
Параметры:
type Тип записываемого компонентаvalue Указатель не возвращаемое значение
Возвращаемое значение:
MA_NOERROR при отсутствии ошибокMA_ERR_ACCESS, если запрещена запись в ячейку
HRESULT Copy ([in] ImaCell* cell)Функция копирует значение ячейки из ячейки cell.
Параметры:
cell ячейка, из которой будет скопировано значениеВозвращаемое значение:
MA_NOERROR при отсутствии ошибокMA_ERR_ACCESS, если запрещена запись в ячейку или чтение из ячейки cell
HRESULT IsEmpty ()Функция проверяет, является ли ячейка пустой.
Возвращаемое значение:
MA_TRUE если ячейка пустаMA_FALSE если ячейка непуста
HRESULT Clear ()Функция устанавливает пустое значение ячейки. Если ячейка содержала указатель на интерфейс, для него вызывается Release.
Возвращаемое значение:
MA_NOERROR при отсутствии ошибокMA_ERR_ACCESS, если запрещена запись в ячейку