Platform SDK: TAPI

TAPI DLL

The TAPI DLLs, along with the TAPI Server (Tapisvr.exe), are crucial abstractions separating end-user or server applications from service providers. A TAPI DLL in conjunction with the TAPI Server provides a consistent interface between these two layers.

A TAPI application loads the appropriate DLL into its process space. During initialization, TAPI establishes an RPC link with Tapisvr.exe. The TAPI Server runs as a separate service on Windows 9x and Windows NT. On Windows 2000, the TAPI Server runs in the context of SVCHOST.

There are three DLLs associate with TAPI: Tapi.dll, Tapi32.dll, and Tapi3.dll. The following figure illustrates the roles of their respective roles in Microsoft Telephony:

Existing 16-bit applications link to Tapi.dll. In Windows 3.1 and Windows 95, this DLL is the core of Windows Telephony. Under Windows 98 and Windows NT/Windows 2000, Tapi.dll is simply a thunk layer to map 16-bit addresses to 32-bit addresses and pass requests to Tapi32.dll.

Existing 32-bit TAPI 2 applications link to Tapi32.dll. In Windows 95, Tapi32.dll is a thunk layer to Tapi.dll. In Windows 98 and Windows NT/Windows 2000, Tapi32.dll is a thin marshaling layer that transfers function requests to the TAPI Server (Tapisrv.exe) and, when needed, loads and invokes media service provider DLLs in the application's process.

TAPI 3 applications link to Tapi3.dll.