TSPI_linePrepareAddToConference函数 (tspi.h)
TSPI_linePrepareAddToConference 函数为添加另一方准备现有的电话会议。 它创建了一个新的临时咨询电话。 随后可将新的咨询呼叫添加到电话会议中。
语法
LONG TSPIAPI TSPI_linePrepareAddToConference(
DRV_REQUESTID dwRequestID,
HDRVCALL hdConfCall,
HTAPICALL htConsultCall,
LPHDRVCALL lphdConsultCall,
LPLINECALLPARAMS const lpCallParams
);
参数
dwRequestID
异步请求的标识符。
hdConfCall
电话会议句柄。 hdConfCall 的调用状态可以连接。
htConsultCall
新的临时咨询呼叫的 TAPI 句柄。 服务提供商必须保存此内容,并在针对新调用报告事件的 LINEEVENT 过程的所有后续调用中使用它。 hdAddCall 的调用状态不适用。
lphdConsultCall
指向 HDRVCALL 的指针,该指针表示服务提供商的新临时咨询呼叫的标识符。 在此过程返回之前,服务提供商必须使用新调用的句柄填充此位置。 如果函数导致错误,则此句柄无效。
lpCallParams
指向 LINECALLPARAMS 的指针,其中包含在建立咨询调用时要使用的调用参数。 如果没有所需的特殊调用设置参数,此参数将设置为 NULL 。
返回值
如果发生错误,则返回 dwRequestID 或错误号。 如果函数成功,则相应ASYNC_COMPLETION的 lResult 实际参数为零;如果发生错误,则为错误号。 可能的返回值如下所示:
LINEERR_BEARERMODEUNAVAIL、LINEERR_INVALLINESTATE、LINEERR_CALLUNAVAIL、LINEERR_INVALMEDIAMODE、LINEERR_CONFERENCEFULL、LINEERR_INVALRATE、LINEERR_INUSE、LINEERR_NOMEM、LINEERR_INVALADDRESSMODE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALBEARERMODE、LINEERR_OPERATIONFAILED、LINEERR_INVALCALLPARAMS、LINEERR_RATEUNAVAIL、LINEERR_INVALCALLSTATE、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALCONFCALLHANDLE、LINEERR_USERUSERINFOTOOBIG。
注解
如果行当前不处于可执行此操作的状态,则服务提供商将返回LINEERR_INVALLINESTATE。 服务提供程序必须指示 LINEDEVSTATUS 结构中 LINEFEATURE) 类型的 dwLineFeatures 成员 (当前有效操作的列表。
如果会议呼叫对请求的操作不处于有效状态,则服务提供商将返回LINEERR_INVALCALLSTATE。
此函数将现有电话会议置于 onHoldPendingConference 状态,并创建一个咨询呼叫,稍后可使用 TSPI_lineAddToConference添加到现有电话会议。
可以使用 TSPI_lineDrop取消咨询呼叫。 TAPI 也可能可以在咨询电话和与 TSPI_lineSwapHold举行的电话会议之间交换。 服务提供商最初对新调用执行媒体监视,至少针对线路上监视的一组媒体类型。
此函数与相应的 TAPI 函数的不同之处在于,它遵循 TSPI 模型开始调用的生存期。 TAPI 和服务提供商交换表示相互调用的不透明句柄。 此外,允许服务提供商在从此过程返回之前对新调用执行回调。 在任何情况下,服务提供商还必须将其返回的句柄视为“尚无效”,直到匹配 ASYNC_COMPLETION 消息报告成功。 换句话说,它不得为新调用发出任何 LINEEVENT 消息,也不得将其包含在消息的调用计数或线路的状态数据结构中。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | tspi.h |