lineSetTerminal 函数 (tapi.h)

lineSetTerminal 函数使应用程序能够指定要路由与指定线路、地址或呼叫相关的终端信息。 lineSetTerminal 函数可在线路上调用时使用,以便应用程序能够根据需要将这些事件路由到不同的设备。

语法

LONG lineSetTerminal(
  HLINE hLine,
  DWORD dwAddressID,
  HCALL hCall,
  DWORD dwSelect,
  DWORD dwTerminalModes,
  DWORD dwTerminalID,
  DWORD bEnable
);

参数

hLine

开行设备的句柄。

dwAddressID

给定开行设备上的地址。 地址标识符与地址永久关联;标识符在操作系统升级中保持不变。

hCall

调用的句柄。 如果 dwSelect 为 CALL,则 hCall 的调用状态可以是任何状态。

dwSelect

是针对线路、地址还是仅指定呼叫请求终端设置。 如果指定了线路或地址,则事件要么应用于线路或地址本身,要么充当线路或地址上所有新调用的默认初始设置。 此参数使用 LINECALLSELECT_常量之一。

dwTerminalModes

要路由到给定终端的低级别事件的类。 此参数使用一个或多个 LINETERMMODE_常量

dwTerminalID

要路由给定事件的终端设备的设备标识符。 终端标识符是小于 dwNumTerminals 的 0 到 1 范围内的小整数,其中 dwNumTerminals 和每个终端能够处理的终端模式由 lineGetDevCaps 返回。

这些终端标识符与其他设备标识符无关,由服务提供商使用设备功能定义。

bEnable

如果 为 TRUE则 dwTerminalID 有效,并且指定的事件类将路由到该终端或从该终端路由。 如果 为 FALSE,则不会将这些事件路由到/从标识符等于 dwTerminalID 的终端设备。

返回值

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

LINEERR_INVALADDRESSID、LINEERR_NOMEM、LINEERR_INVALCALLHANDLE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCALLSELECT、LINEERR_OPERATIONFAILED、LINEERR_INVALLINEHANDLE、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALTERMINALID、LINEERR_UNINITIALIZED、LINEERR_INVALTERMINALMODE。

注解

应用程序可以使用此函数将某些类的低级别行事件路由到指定的终端设备,或抑制这些事件的路由。 例如,语音可以路由到音频 I/O 设备 (头戴显示设备) ,灯和显示事件可以路由到本地电话设备,按钮事件和铃声事件可以完全抑制。

可以随时调用此函数,即使在给定线路设备上调用处于活动状态时也是如此。 这允许用户从使用本地电话集切换到另一个音频 I/O 设备。 可以多次调用此函数,以将相同的事件同时路由到多个终端。 若要将事件重新路由到其他终端,应用程序应首先禁用对现有终端的路由,然后将事件路由到新终端。

终端标识符分配由线路的服务提供商进行。 设备功能仅指示服务提供商可用的终端标识符。 不支持此类事件路由的服务提供商将指示它们没有终端设备 (LINEDEVCAPS 中的 dwNumTerminals 将为零) 。

在线路或地址上调用 lineSetTerminal 会影响该线路或地址上的所有现有呼叫,但不会影响其他地址上的呼叫。 它还设置该线路或地址上将来调用的默认值。 同时有多个连接呼叫处于活动状态的线路或地址对于每个呼叫可能有不同的路由。

如果当前未将这些事件路由到终端或从该终端路由低级别事件,则只要函数成功 (指定的事件未路由到该终端或从该终端路由到该终端) ,则不一定会产生错误。

TAPI 将呼叫进度音和消息路由到 lineSetTerminal 函数为“媒体”设置的同一位置。 例如,如果音频信号发送到电话,则忙碌信号 (模拟) 或 Q.931 消息指示忙碌 (数字) 。

要求

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

另请参阅

LINEDEVCAPS

LINE_REPLY

补充线路服务函数

TAPI 2.2 参考概述

lineGetDevCaps