linePickup 函数 (tapi.h)

linePickup 函数在指定的目标地址接收警报的呼叫,并返回接听呼叫的呼叫句柄。 如果使用 lpszDestAddress 参数的 NULL 调用,则执行组拾取。 如果设备需要, lpszGroupID 指定警报站所属的组标识符。

语法

LONG linePickup(
  HLINE   hLine,
  DWORD   dwAddressID,
  LPHCALL lphCall,
  LPCSTR  lpszDestAddress,
  LPCSTR  lpszGroupID
);

参数

hLine

要接听呼叫的开行设备的句柄。

dwAddressID

要发起取件的 hLine 上的地址。 地址标识符与地址永久关联;标识符在操作系统升级中保持不变。

lphCall

指向内存位置的指针,该位置返回已拾取调用的句柄。 应用程序是调用的初始唯一所有者。

lpszDestAddress

指向以 null 结尾的字符缓冲区的指针,该缓冲区包含要选取其调用的地址。 该地址采用标准可拨号地址格式。

lpszGroupID

指向以 null 结尾的字符缓冲区的指针,该缓冲区包含警报站所属的组标识符。 某些开关需要此参数才能接听当前应答组外部的呼叫。

可以使用 lpszDestAddress 的 NULL 指针自行指定 lpszGroupID 参数。 或者,如果设备需要,除了 lpszDestAddress 之外,还可以指定 lpszGroupID。

返回值

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

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

注解

成功接听呼叫后, LINE_CALLSTATE消息将 通知应用程序有关呼叫状态更改。 LINECALLINFO 结构提供有关接听的呼叫的信息。 它将呼叫的原因列为 取件。 可以使用 lineGetCallInfo 使用此结构。

如果LINEADDRCAPFLAGS_PICKUPCALLWAIT为 TRUE,则 linePickup 可用于接听用户已检测到呼叫等待信号但提供商无法执行检测的呼叫。 这为用户提供了一种“应答”等待呼叫的机制,即使服务提供商无法检测到呼叫等待信号也是如此。 lpszDestAddresslpszGroupID 指针参数都必须为 NULL 才能接听等待调用。 linePickup 函数为等待的调用创建新的调用句柄,并将该句柄传递给用户。 dwAddressID 参数通常为零 (特别是在单行住宅案例) 。

使用 linePickup 接听第二个呼叫后,可以使用 lineSwapHold 在它们之间切换。 lineDrop 函数可用于删除一个 (并切换到另一个) ,依此类推。 如果用户想要放弃当前呼叫并接听第二个呼叫,则应在收到等待呼叫的蜂鸣声时调用 lineDrop ,等待第二个呼叫响铃,然后在新的呼叫句柄上调用 lineAnswerLINEADDRESSSTATUS 中的 dwAddressFeatures 成员中的LINEADDRFEATURE_PICKUP标志指示实际可以进行取件。

要求

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

另请参阅

LINEADDRESSSTATUS

LINECALLINFO

LINE_CALLSTATE

LINE_REPLY

提货概述

补充线路服务函数

TAPI 2.2 参考概述

lineAnswer

lineDrop

lineGetCallInfo

lineSwapHold