linePark 函数 (tapi.h)

linePark 函数根据指定的寄存模式来寄存指定的呼叫。

语法

LONG linePark(
  HCALL       hCall,
  DWORD       dwParkMode,
  LPCSTR      lpszDirAddress,
  LPVARSTRING lpNonDirAddress
);

参数

hCall

要寄存的呼叫的句柄。 应用程序必须是呼叫的所有者。 hCall 的调用状态必须已连接

dwParkMode

用于寄存呼叫的寄存模式。 此参数只能有一个标志集,并使用 LINEPARKMODE_常量之一。

lpszDirAddress

指向 以 null 结尾的字符串的指针,该字符串指示在使用定向寄存时要在其中寄存呼叫的地址。 地址采用可拨号号码格式。 对于非定向寄存,将忽略此参数。

lpNonDirAddress

指向 VARSTRING 类型的结构的指针。 对于非定向寄存,将在此结构中返回呼叫的寄存地址。 对于定向寄存,将忽略此参数。 在 VARSTRING 结构中,dwStringFormat 必须设置为STRINGFORMAT_ASCII (包含以 null 结尾的字符串的 ASCII 字符串缓冲区) ,并且必须在 dwStringSize 中考虑终止 NULL。 在调用 linePark 之前,应用程序必须设置此结构的 dwTotalSize 成员,以指示 TAPI 可用于返回信息的内存量。

返回值

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

LINEERR_INVALADDRESS、LINEERR_NOTOWNER、LINEERR_INVALCALLHANDLE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCALLSTATE、LINEERR_OPERATIONFAILED、LINEERR_INVALPARKMODE、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALPOINTER、LINEERR_STRUCTURETOOSMALL、LINEERR_NOMEM、LINEERR_UNINITIALIZED。

注解

使用定向寄存,应用程序将确定它想要将呼叫寄存到的地址。 使用非定向寄存时,交换机会确定地址,并将其提供给应用程序。 在任一情况下,可以通过指定此地址来取消寄存呼叫。

寄存的调用通常在成功寄存后进入 空闲 状态,然后应用程序应将其句柄解除分配给呼叫。 如果应用程序对已寄存的呼叫执行 lineUnpark ,则即使应用程序尚未解除分配其旧的呼叫句柄,也会为未寄存的呼叫创建新的呼叫句柄。

某些开关可以在呼叫已长时间保留后提醒用户。 应用程序看到 一个产品/ 服务呼叫,其呼叫原因设置为 提醒

在非定向寄存上,如果 VARSTRING 结构中的 dwTotalSize 成员未指定足够的内存量来接收寄存地址,则相应的回复消息将返回LINEERR_STRUCTURETOOSMALL错误值。 在这种情况下,无法检索完整的公园地址。 返回LINEERR_STRUCTURETOOSMALL错误值时,NonDirAddress 结构的 dwNeededSize 成员不包含有效值。 如果从非定向 linePark 收到LINEERR_STRUCTURETOOSMALL错误值,则增加缓冲区的大小并再次调用 linePark ,直到返回成功或不同的LINEERR_XXX结果。

要求

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

另请参阅

LINE_REPLY

公园概述

补充行服务函数

TAPI 2.2 参考概述

VARSTRING

lineUnpark