TSPI 消息
本部分包含电话服务提供程序接口 (TSPI) 的消息列表。 这些消息用于通知 TAPI 服务提供程序中自发发生的异步事件的发生。 服务提供商通过调用 LINEEVENT 或 PHONEEVENT 回调函数将这些事件传递给 TAPI,具体取决于服务提供商是在线路、呼叫还是电话设备上报告事件。 使用 TSPI_lineOpen 函数打开线路时,将向服务提供商提供 LINEEVENT 过程,用于报告线路或呼叫上发生的事件。 报告手机上发生的事件的 PHONEEVENT 过程与 TSPI_phoneOpen 函数一起提供。
这些自发事件未经 TAPI 请求,因为它们不是对任何请求的直接响应。 这些事件与 TAPI 发出的请求的报告完成情况形成鲜明对比。 此类完成事件通过 ASYNC_COMPLETION 回调函数报告。
自发事件过程的参数配置文件包括用于标识 (电话、线路或呼叫) 报告事件的相关对象的参数。 标识采用不透明句柄的形式,其确切解释未由 TSPI 发布。 TAPI 在内部确定这些不透明句柄与它用于表示设备的任何数据结构之间的关系。
自发事件过程的参数配置文件还包括标识消息类型的消息参数。 每个消息类型都有一个相应的定义,用于确定包含的句柄以及其他参数及其含义。 在 TSPI 级别显示的消息与在 TAPI 级别显示的消息之间具有很强的对应关系。 以下是通信的一般规则:
- 消息集几乎相同。 消息对应的地方,在 TSPI 级别使用相同的消息名称和值。
- 出现在 TSPI 级别的句柄是 TSPI 规范定义的不透明类型。 这些类型 (,其解释) 不同于 TAPI 级别的类型,尽管它们指的是同一类设备。 例如,如果 TAPI 消息包含 HLINE 句柄,相应的 TSPI 消息通常包含 HTAPILINE 句柄。
- 没有传递到回调的 dwCallbackInstance 数据。
- dwParam1、dwParam2 和 dwParam3 参数通常与 TAPI 消息的相应参数相同。
- 与面向电话的消息相比,面向行的消息和面向呼叫的消息传递到不同的回调过程。
对于每条消息,本部分列出了以下项:
- 消息的用途
- 此消息传递到的回调过程
- 消息参数的说明
- 有关使用消息的可选注释
- 对其他函数、消息和数据结构的可选引用
- 将此消息与 TAPI 接口进行比较的可选注释
某些消息用于通知 TAPI 对象状态的更改。 这些消息提供 TAPI 不透明的对象句柄,并指示哪个状态项已更改。 TAPI 随后可以调用对象的相应“获取状态”函数来获取对象的完整状态。
发生事件时,可能会向 TAPI 发送消息,也可能不发送到 TAPI。 对于某些事件类型(例如状态更改),TAPI 会指定一组它感兴趣的状态更改。 建议服务提供商将其报告的状态更改消息事件限制在此集中包含的事件。 服务提供商不需要遵守此限制。 换句话说,它可能会报告比严格必要的更改更多。 但是,出于性能原因,它应尝试遵守限制。
LINE_REPLY消息不在 TSPI 级别使用。 使用 ASYNC_COMPLETION 回调报告异步请求的完成情况。
TSPI 级别不使用PHONE_REPLY消息。 使用 ASYNC_COMPLETION 回调报告异步请求的完成情况。
有关详细信息,请参阅以下主题: