lineCompleteTransfer 函数 (tapi.h)

lineCompleteTransfer 函数完成对咨询呼叫中连接的方的指定调用的转移。

语法

LONG lineCompleteTransfer(
  HCALL   hCall,
  HCALL   hConsultCall,
  LPHCALL lphConfCall,
  DWORD   dwTransferMode
);

参数

hCall

要转移的调用的句柄。 应用程序必须是此调用的所有者。 hCall 的调用状态必须为 onHoldonHoldPendingTransfer

hConsultCall

表示与传输目标的连接的调用的句柄。 应用程序必须是此调用的所有者。 hConsultCall 的调用状态必须是已连接回拨忙碌继续

lphConfCall

指向可以返回 hCall 句柄的内存位置的指针。 如果 dwTransferMode LINETRANSFERMODE_CONFERENCE,则会在 lphConfCall 中返回新创建的电话会议,并且应用程序将成为会议呼叫的唯一所有者。 否则,TAPI 将忽略此参数。

dwTransferMode

如何解决发起的转移请求。 此参数使用 LINETRANSFERMODE_常量之一。

返回值

如果函数以异步方式完成,则返回一个正请求标识符;如果发生错误,则返回负错误号。 如果函数成功,则相应LINE_REPLY消息的 dwParam2 参数为零;如果发生错误,则为负错误数。 可能的返回值为:

LINEERR_INVALCALLHANDLE、LINEERR_NOTOWNER、LINEERR_INVALCALLSTATE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCONSULTCALLHANDLE、LINEERR_OPERATIONFAILED、LINEERR_INVALTRANSFERMODE、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALPOINTER、LINEERR_UNINITIALIZED、LINEERR_NOMEM。

注解

为响应 对 lineCompleteTransfer 函数的调用而发送的LINE_REPLY消息基于 hCall 参数指定的调用的状态。

此操作完成将原始调用 hCall 转移到当前由 hConsultCall 连接的一方。 咨询呼叫通常在 作为 lineSetupTransfer 的一部分分配的咨询呼叫上拨号,但它可以是交换机能够转移 hCall 的任何呼叫。

转移请求可以作为转移或三方电话会议解决。 解析为传输时, hCallhConsultCall 连接的参与方相互连接, hCallhConsultCall 通常会从应用程序的行中清除并转换为 空闲 状态。 传输完成后,应用程序的调用句柄将保持有效。 当应用程序不再对转移的调用感兴趣时,必须使用 lineDeallocateCall 解除分配其句柄。

解析为会议后,所有三方都进入电话会议。 两个现有呼叫句柄都保持有效,但转换为 会议 状态。 创建并返回会议呼叫句柄,并转换为 连接 状态。

如果 lineGetConfRelatedCallslineCompleteTransfer 之后立即调用,结果呼叫已召开, 则 lineGetConfRelatedCalls 可能不会返回相关调用的完整列表。 这是因为 TAPI 等待接收 LINE_CALLSTATE 消息,指示呼叫已进入LINECALLSTATE_CONFERENCED,然后才认为呼叫实际上是会议的一部分。 也就是说,它等待服务提供商确认会议状态。 应用程序收到LINE_CALLSTATE消息后, lineGetConfRelatedCalls 将返回完整信息。

还可以使用 lineBlindTransfer 执行呼叫的盲转。

要求

要求
目标平台 Windows
标头 tapi.h
Library Tapi32.lib
DLL Tapi32.dll

另请参阅

LINE_CALLSTATE

LINE_REPLY

补充行服务函数

TAPI 2.2 参考概述

传输概述

lineBlindTransfer

lineDeallocateCall

lineGetConfRelatedCalls

lineSetupTransfer