lineParkA 函数 (tapi.h)

linePark 函数根据指定的公园模式将指定呼叫停靠在一起。

语法

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

参数

hCall

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

dwParkMode

呼叫要寄存的寄存模式。 此参数只能设置单个标志,并使用 LINEPARKMODE_ 常量之一。

lpszDirAddress

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

lpNonDirAddress

指向 VARSTRING类型的结构的指针。 对于非定向寄存,呼叫寄存的地址在此结构中返回。 对于定向寄存,将忽略此参数。 在 VARSTRING 结构中,必须将 dwStringFormat 设置为 STRINGFORMAT_ASCII(包含 null-terminated 字符串的 ASCII 字符串缓冲区),终止 NULL 必须在 dwStringSize中考虑。 在调用 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结果。

注意

tapi.h 标头将 linePark 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
目标平台 窗户
标头 tapi.h
Tapi32.lib
DLL Tapi32.dll

另请参阅

LINE_REPLY

Park 概述

补充线服务函数

TAPI 2.2 参考概述

VARSTRING

lineUnpark