ITAddress::CreateCall 方法 (tapi3if.h)

CreateCall 方法创建一个新的 Call 对象,该对象可用于发出传出调用,并返回指向对象的 ITBasicCallControl 接口的指针。 新创建的呼叫处于CS_IDLE 状态 ,未选择媒体或终端。

呼叫地址、地址类型和媒体类型的可接受输入值特定于支持当前地址的电话服务服务提供商。 有关 Windows 2000 附带的 TSP 的信息,请参阅 关于电话服务提供程序 (TSP) 。 对于第三方 TSP,请参阅由供应商提供的文档。

语法

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

参数

[in] pDestAddress

BSTR 字符串包含目标地址。 格式特定于提供程序。 对于 (热电话) 或使用 ITBasicCallControl::D ial 执行所有拨号时,此指针可以为 NULLNULLITBasicCallControl::P ickup 中的 NULLpGroupID 结合使用会导致组选取。 具有反多路复用功能的服务提供商可以允许应用程序一次指定多个地址。

[in] lAddressType

包含 描述地址格式的地址类型 常量,例如 LINEADDRESSTYPE_PHONENUMBER。 该值必须对此地址有效。 使用将 AddressCap 设置为 AC_ADDRESSTYPES 的 ITAddressCapabilities::get_AddressCapability 来验证值。

[in] lMediaTypes

标识将在调用会话中涉及的 一个或多个媒体 类型。

[out] ppCall

指向 ITBasicCallControl 接口的 指针。

返回值

此方法可以返回其中一个值。

含义
S_OK
方法成功。
E_INVALIDARG
地址类型 lAddressType 无效或指定多个地址类型。
E_OUTOFMEMORY
内存不足,无法执行操作。
E_POINTER
ppCall 参数不是有效的指针。

注解

应用程序必须使用 SysAllocStringpDestAddress 参数分配内存,并在不再需要变量时使用 SysFreeString 释放内存。

LINEADDRESSTYPE_SDP地址类型时,应用程序应调用 pDestAddress 上的 ITSDP::get_IsValid 方法,以验证是否根据 RFC 2327 正确构造了包含的 SDP 信息。

必须使用此方法创建用作咨询呼叫的呼叫,例如在会议、转移或转接操作期间。

TAPI 在 ITAddress::CreateCall 返回的 ITBasicCallControl 接口上调用 AddRef 方法。 应用程序必须在 ITBasicCallControl 接口上调用 Release,以释放与之关联的资源。

注意 此方法与 TAPI 2 中的 lineMakeCall 不完全相同。 它为 TAPI 提供了许多相同的信息,但在调用 ITBasicCallControl::Connect 之前不会执行并行操作。
 

要求

要求
目标平台 Windows
标头 tapi3if.h (包括 Tapi3.h)
Library Uuid.lib
DLL Tapi3.dll

另请参阅

Address 对象

ITAddress

ITBasicCallControl

ITBasicCallControl::D ial

lineDial