初始化和关闭

应用程序若要使用 TAPI 的 30 个补充电话功能中的任何一个,它需要连接到 TAPI,通过该连接可以接收消息。 应用程序使用 phoneInitializeEx 函数建立此连接。 在此函数中,应用程序指定 TAPI 通知应用程序电话状态更改和电话功能异步完成的通知机制。

phoneInitializeEx 函数向应用程序返回两条信息:应用程序句柄和电话设备数。 应用程序句柄表示应用程序的 TAPI 使用情况。 使用电话句柄的 TAPI 函数不需要应用程序句柄,因为此句柄派生自指定的电话句柄。

phoneInitializeEx 返回的第二条信息是 TAPI 可用的电话设备数。 电话设备通过其设备标识符 (设备 ID) 进行标识。 有效的设备标识符范围从零到电话设备数减一。 例如,如果 phoneInitializeEx 报告系统中有两个电话设备,则有效的电话设备标识符为 0 和 1。 应用程序使用 TAPI 的电话功能完成后,它会调用 phoneShutdown,传递其应用程序句柄来关闭其 TAPI 的使用。 这样,TAPI 就可以释放分配给应用程序的任何资源。

应用程序不应调用 phoneInitializeEx ,而不在随后打开电话 (至少用于监视) 。 如果应用程序未进行监视且未使用任何设备,则应调用 phoneShutdown ,以便在不需要的情况下释放 TAPI 动态链接库分配的内存资源,并且库本身可以在不需要的情况下从内存中卸载。

phoneInitializeExphoneShutdown 同步运行。 也就是说,这些函数返回成功或失败指示,并且从不返回异步请求标识符。