设备控制 (电话 API)
最终用户或服务器应用程序级别的设备控制需要相对较少的基本信息。 服务提供商抽象层执行详细的设备控制。 服务提供商通过 TAPI 向应用程序报告所需的设备信息。
关键设备类别包括:
- 网络:通信的传输层。 从应用程序的角度来看,有关网络的信息通常嵌入在地址类型中,例如LINEADDRESSTYPE_PHONENUMBER。
- 行:与网络的连接。 此概念在 TAPI 2.2 (TAPI/C) 中大量使用。
- 通道:线条的细分。 应用程序通常不需要了解通道,因为服务提供商会配置它们如何显示为地址。
- 地址:网络上的网络位置。 每行或每条通道都有一个或多个关联地址。 地址是 TAPI 3.1 (TAPI/COM) 和 TAPI 2.2 (TAPI/C) 中的一个关键概念。
- 终端:特定地址和媒体类型的源或呈现器。
服务提供商向 TAPI 报告设备特征以响应应用程序查询。 服务提供商还会启动有关设备状态更改的报告。 然后,根据初始化期间请求的通知将这些更改报告给应用程序。
基本设备特征包括:
此外,服务提供商还会提供有关给定地址容量的信息,以便执行各种会话操作。
如果服务提供商支持补充特征,则可能与某些设备相关联。 TAPI 2.x 应用程序使用 lineGetDevCaps 和 lineGetAddressCaps 函数发现功能。 TAPI 3.x 应用程序使用 ITAddressCapabilities 接口实现此目的。
TAPI 2.x 提供了一组特殊的补充操作,服务提供商可以实施这些补充操作以用于电话设备。 请参阅 电话设备。
扩展功能特定于提供程序,不直接涵盖在 Microsoft 电话 API 中。 请参阅 扩展线路函数、 扩展电话电话函数或 特定于提供程序的接口。
下面是 TAPI 操作的摘要,这些操作针对设备特征查询服务提供程序并提供当前状态的数据。
TAPI 2.x 函数 | 说明 |
---|---|
lineGetDevCaps | 查询指定的线路设备以确定关联地址的电话功能。 |
lineGetAddressCaps | 查询指定的线路设备以确定特定地址的电话功能。 |
lineGetDevConfig | 返回存储设备当前配置的“不透明”数据结构。 |
lineSetDevConfig | 还原设备配置。 |
lineConfigDialog | 显示允许用户配置与设备相关的参数的对话框。 |
lineGetID | 检索一个稳定的设备标识符,该标识符可用于进一步的 TAPI 函数调用,或与其他 API 一起使用。 |
lineGetLineDevStatus | 查询设备的当前状态,例如活动调用数。 |
lineSetLineDevStatus | 设置设备状态,例如将设备设置为不在服务中。 |
lineGetIcon | 检索要向用户显示的特定于提供程序的图标。 |
lineNegotiateExtVersion | 允许应用程序协商要与指定线路设备一起使用的扩展版本。 |
lineDevSpecific | 授予对设备特定功能的访问权限。 |
lineDevSpecificFeature | 将特定于设备的功能发送到服务提供商。 |
TAPI 3.x 接口或方法 | 说明 |
---|---|
ITAddressCapabilities | 获取有关地址功能的信息。 |
ITAMMediaFormat | 设置并获取 DirectShow™ 媒体格式。 |
ITBasicAudioTerminal | 设置并获取标准音频终端特征,例如音量。 |
ITMediaSupport | 获取有关地址的媒体支持功能的信息。 |
ITTerminal | Terminal 对象的基接口。 获取终端类和支持的媒体等信息。 |
ITTerminalSupport | 获取有关可用终端的信息并创建其他终端。 |
提供程序特定的接口 | 依赖于服务提供商。 |