---
title: "ksTransferInterface - Преобразовать интерфейсный объект одного типа API в интерфейсный объект API другого типа"
type: interface
api: [api7]
tags: [interface, api7, kstransferinterface]
sources:
  - kstransferinterface.html
---

*API экспортных функций > Функции работы с документами  > Сервисные функции *

Аналог данного метода при использовании Automation - API5 - KompasObject::TransferInterface.
Синтаксис:
```
LPUNKNOWN LIB_FUNC ksTransferInterface(LPUNKNOWN obj, long newApiType, long objNewType );
Входные параметры:
obj    - интерфейс 3D COM, API5 Auto или API7,
apiNewType    - тип API, к которому преобразуется исходный интерфейс, может принимать значения из ksAPITypeEnum,
objNewType    - тип объекта в интерфейсе, к которому преобразуется исходный объект (может быть задан 0).
Возвращаемое значение:
- указатель на интерфейс объекта в API заданного типа.
```
Описание:
Метод позволяет получить интерфейс объекта заданного типа objNewType в API заданного типа apiNewType по присланному объекту obj.
Примечание:
1. Исходным объектом может быть интерфейс 3D COM, API5 Auto или API7.
2. Если новый тип API совпадает с API присланного объекта, возвращается присланный объект.
3. Если задан новый тип API как неопределенный (0), возвращается присланный объект.
4. Если задан новый тип API значением вне допустимого множества значений, возвращается NULL.
5. Если задан новый тип объекта значением вне допустимого множества значений, возвращается NULL.
6. Если задан новый тип объекта неопределенным значением (0), возвращается интерфейс базового объекта, совпадающий по типу с требуемым объектом, либо требуемый объект может быть получен от базового через QueryInterface; рекомендуется явно указывать требуемый тип объекта.
