TSPI_lineUnpark 函数 (tspi.h)

TSPI_lineUnpark 函数检索停在指定地址的呼叫,并为其返回一个调用句柄。

语法

LONG TSPIAPI TSPI_lineUnpark(
  DRV_REQUESTID dwRequestID,
  HDRVLINE      hdLine,
  DWORD         dwAddressID,
  HTAPICALL     htCall,
  LPHDRVCALL    lphdCall,
  LPCWSTR       lpszDestAddress
);

参数

dwRequestID

异步请求的标识符。

hdLine

调用将取消其上的行的句柄。

dwAddressID

hdLine 上的地址,其来源为 unpark。 地址标识符与地址永久关联;标识符在操作系统升级中保持不变。 调用此函数时,TAPI 不会验证此参数。

htCall

新的未寄存呼叫的 TAPI 句柄。 服务提供商必须保存此内容,并在对 LINEEVENT 过程报告调用事件的所有后续调用中使用它。

lphdCall

指向 HDRVCALL 的指针,表示新的未寄存调用的服务提供程序的标识符。 在此过程返回之前,服务提供商必须使用调用的句柄填充此位置。 如果函数导致错误,则此句柄无效。

lpszDestAddress

指向以 null 结尾的 Unicode 字符串的指针,该字符串包含呼叫的寄存地址。 地址采用可拨号地址格式。

返回值

如果发生错误,则返回 dwRequestID 或错误号。 如果函数成功,相应ASYNC_COMPLETIONlResult 实际参数为零;如果发生错误,则为错误号。 可能的返回值如下所示:

LINEERR_INVALLINEHANDLE、LINEERR_NOMEM、LINEERR_INVALPOINTER、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALADDRESSID、LINEERR_OPERATIONFAILED、LINEERR_INVALADDRESS、LINEERR_RESOURCEUNAVAIL。

注解

此函数不同于相应的 TAPI 函数,因为它遵循 TSPI 模型,以开始调用的生存期。 TAPI 和服务提供商交换不透明的句柄,表示相互调用。 此外,允许服务提供商在从此过程返回之前对新调用执行回调。 在任何情况下,服务提供商还必须将其返回的句柄视为“无效”,直到匹配 ASYNC_COMPLETION 消息报告成功。 换句话说,它不得为新调用发出任何 LINEEVENT 消息,也不得将其包含在该行的消息或状态数据结构中的呼叫计数中。

此函数创建的调用句柄是一个新的不同调用句柄,即使调用的原始调用句柄仍然存在, (它尚未被 TSPI_lineCloseCall) 销毁。

要求

   
目标平台 Windows
标头 tspi.h

另请参阅

ASYNC_COMPLETION

TSPI_lineCloseCall

TSPI_linePark