linePark 函数根据指定的公园模式将指定呼叫停靠在一起。
语法
LONG lineParkA(
HCALL hCall,
DWORD dwParkMode,
LPCSTR lpszDirAddress,
LPVARSTRING lpNonDirAddress
);
参数
hCall
要寄存的呼叫的句柄。 应用程序必须是调用的所有者。 hCall 的调用状态必须 连接。
dwParkMode
呼叫要寄存的寄存模式。 此参数只能设置单个标志,并使用 LINEPARKMODE_ 常量之一。
lpszDirAddress
指向 null-terminated 字符串的指针,该字符串指示在使用定向寄存时要寄存呼叫的地址。 地址采用可拨号号码格式。 对于非目录寄存,将忽略此参数。
lpNonDirAddress
指向 VARSTRING
返回值
如果函数异步完成,则返回正请求标识符;如果发生错误,则返回负错误号。 如果函数成功,则
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 |