TAPI DLL
TAPI DLL 以及 TAPI Server (Tapisvr.exe) 是将最终用户或服务器应用程序与服务提供商分开的关键抽象。 TAPI DLL 与 TAPI 服务器结合使用,这两个层之间提供一致的接口。
TAPI 应用程序将相应的 DLL 加载到其进程空间中。 在初始化期间,TAPI 与 Tapisvr.exe 建立 RPC 链接。 TAPI 服务器在 SVCHOST 的上下文中运行。
有三个与 TAPI 关联的 DLL:Tapi.dll、Tapi32.dll和Tapi3.dll。 这些 DLL 位于 %SystemRoot%\system32 中。 下图演示了他们在 Microsoft 电话中各自角色的角色:
现有的 16 位应用程序链接到Tapi.dll。 Tapi.dll只是一个 thunk 层,用于将 16 位地址映射到 32 位地址,并将请求传递给Tapi32.dll。
现有 32 位 TAPI 2.x 应用程序链接到Tapi32.dll。 Tapi32.dll是一个精简的封送层,可将函数请求传输到 TAPI 服务器 (TAPISRV) ,并在需要时在应用程序的进程中加载和调用媒体服务提供商 DLL。
TAPI 3.x 应用程序链接到Tapi3.dll。