事件通知
事件通知是应用程序从 TAPI 和服务提供商获取信息的主要方式。 此信息可能是应用程序所启动的异步操作的状态,也可能涉及在应用程序外部启动的进程,例如新传入呼叫的通知。
TAPI 2.x: 应用程序通过以下三种方式之一处理通知:隐藏窗口、事件句柄或完成端口。 有关这些通知机制的其他信息,请参阅 lineInitializeEx 的“备注”部分。 应用程序通过在调用 lineInitializeEx 之前设置 LINEINITIALIZEEXPARAMS 结构的 dwOptions 成员来指定机制。
lineSetStatusMessages 函数使应用程序能够指定要接收与指定行或其任何地址的状态更改相关的事件的通知消息。
TAPI 3.x: 应用程序使用 COM 标准 可连接对象处理常规通知。 ITTAPIEventNotification 是必须使用 TAPI 的容器对象注册的传出接口, ITTAPIEventNotification::Event 是 TAPI 调用以确定应用程序响应的方法。 ITTAPI::p ut_EventFilter 方法告知 TAPI 应用程序感兴趣的事件。 如果未输入事件筛选器,应用程序将不会收到任何事件的通知。 ITTAPI::RegisterCallNotifications 方法告诉 TAPI 应用程序将处理传入会话的媒体类型和地址。 有关 TAPI 3 事件处理的其他信息,请参阅 事件 概述或 注册事件 代码示例。
电话服务提供商实现 TSPI_lineSetDefaultMediaDetection 和 TSPI_lineSetStatusMessages。 TAPI 调用这些函数以指示应用程序请求的所有行、地址和媒体类型事件的集合。