Поделиться через


Метод ITAddress::CreateCall (tapi3if.h)

Метод CreateCall создает новый объект Call, который можно использовать для выполнения исходящего вызова, и возвращает указатель на интерфейс ITBasicCallControl объекта. Созданный вызов находится в состоянии CS_IDLE и не выбраны носители или терминалы.

Допустимые входные значения для адреса звонка, типа адреса и типа мультимедиа относятся к поставщику услуг телефонии, который поддерживает текущий адрес. Сведения о TSP, поставляемых с Windows 2000, см. в разделе About The Phoney Service Provider (TSP). Сведения о сторонних TSP см. в документации, предоставленной vender.

Синтаксис

HRESULT CreateCall(
  [in]  BSTR               pDestAddress,
  [in]  long               lAddressType,
  [in]  long               lMediaTypes,
  [out] ITBasicCallControl **ppCall
);

Параметры

[in] pDestAddress

Эта строка BSTR содержит адрес назначения. Формат зависит от поставщика. Этот указатель может иметь значение NULL для ненабранных адресов (например, с горячим телефоном) или при выполнении всего набора с помощью ITBasicCallControl::D ial. Null в сочетании с nullpGroupID в ITBasicCallControl::P ickup приводит к групповому сбору. Поставщики услуг, имеющие возможности обратного мультиплексирования, могут позволить приложению указать несколько адресов одновременно.

[in] lAddressType

Содержит константу типа адреса , например LINEADDRESSTYPE_PHONENUMBER, которая описывает формат адреса. Значение должно быть допустимым для этого адреса. Используйте ITAddressCapabilities::get_AddressCapability с параметром AddressCap , для AC_ADDRESSTYPES, чтобы проверить значение.

[in] lMediaTypes

Определяет тип или типы мультимедиа , которые будут участвовать в сеансе вызова.

[out] ppCall

Указатель на интерфейс ITBasicCallControl .

Возвращаемое значение

Этот метод может возвращать одно из этих значений.

Значение Значение
S_OK
Метод успешно выполнен.
E_INVALIDARG
Недопустимый тип адреса lAddressType или указывает несколько типов адресов.
E_OUTOFMEMORY
Для выполнения операции недостаточно памяти.
E_POINTER
Параметр ppCall не является допустимым указателем.

Комментарии

Приложение должно использовать SysAllocString для выделения памяти для параметра pDestAddress и использовать SysFreeString , чтобы освободить память, когда переменная больше не нужна.

Если тип адреса LINEADDRESSTYPE_SDP, приложение должно вызвать метод ITSDP::get_IsValid в pDestAddress , чтобы убедиться, что содержащиеся сведения SDP правильно созданы в соответствии с RFC 2327.

Вызовы, используемые в качестве консультационных звонков, например во время конференции, передачи или переадресации, должны создаваться с помощью этого метода.

TAPI вызывает метод AddRef в интерфейсе ITBasicCallControl , возвращаемом ITAddress::CreateCall. Приложение должно вызвать Release в интерфейсе ITBasicCallControl , чтобы освободить связанные с ним ресурсы.

Примечание Этот метод не совпадает с lineMakeCall в TAPI 2. Он предоставляет TAPI большую часть той же информации, но параллельные операции не выполняются до вызова ITBasicCallControl::Connect .
 

Требования

Требование Значение
Целевая платформа Windows
Header tapi3if.h (включая Tapi3.h)
Библиотека Uuid.lib
DLL Tapi3.dll

См. также раздел

Объект Address

ITAddress

ITBasicCallControl

ITBasicCallControl::D ial

lineDial