TSPI_lineCloseCall 函数 (tspi.h)
TSPI_lineCloseCall函数在完成或中止调用上所有未完成的异步操作后解除分配调用。
语法
LONG TSPIAPI TSPI_lineCloseCall(
HDRVCALL hdCall
);
参数
hdCall
要关闭的调用的服务提供商句柄。 成功关闭调用后,此句柄不再有效。 调用状态可以是任何状态。
返回值
如果函数成功,则返回零;如果发生错误,则返回错误号。 可能的返回值如下所示:
LINEERR_NOMEM、LINEERR_OPERATIONFAILED、LINEERR_OPERATIONUNAVAIL、LINEERR_RESOURCEUNAVAIL。
注解
服务提供商必须报告异步操作的完成情况。 如果对存在未完成异步操作的调用调用调用 TSPI_lineCloseCall ,则应在此过程返回之前报告操作已完成,并显示相应的结果或错误代码。 此过程返回后,服务提供程序必须不报告有关调用的进一步事件。 服务提供商对线路的句柄和线路上的调用将变为“无效”。
如果服务提供商同步返回 对 TSPI_lineMakeCall 函数的调用中的错误,TAPI 不会调用 TSPI_lineCloseCall 。 但是,如果服务提供商从 TSPI_lineMakeCall 启动的异步操作返回错误,TAPI 会调用 TSPI_lineCloseCall。
如果在 TSPI_lineCloseCall时线路上存在活动调用,则必须在 LINEDEVCAPS 结构中的 LINEDEVCAPFLAGS_CLOSEDROP 位指示此行为时放弃调用。
如果服务提供商可以确定有另一个代理共享呼叫控制权(例如,在具有单独手机的群线路情况下),则服务提供商只需让呼叫控制权传递给另一个代理,而不是强行放弃呼叫。
此函数应始终成功,除非在特殊情况下。 大多数调用方可能会忽略返回代码,因为他们无法补偿发生的任何错误。 对于开发诊断目的,指定的返回值比任何其他值更具有建议性。
当具有此调用句柄的最后一个应用程序执行 lineDeallocateCall 时,将调用此函数。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | tspi.h |