Windows CE supports TSPI, a DLL that provides communication services over a telephone network through a set of exported functions called by TAPI. The Tspi.h header file should only be used in conjunction with the Tapi.h header file. Most parameters are passed through from corresponding procedures in Tapi.h.
The TSPI is responsible for managing the data from TAPI to control line and phone devices.
TAPI supports the lineAddProvider function, which installs a new TSPI into the telephony system. When an application calls this function, TAPI verifies that it can access the service provider. If the function fails, or the DLL or the service provider cannot be found, the provider is not added to the telephony system. If the function succeeds, and the system is active, TAPI starts the new service provider DLL.
When a Windows CE–based application calls a TAPI function, the TAPI DLL validates and arranges function parameters and forwards them to the appropriate service provider. A service provider can provide different levels of the service provider interface: basic, supplementary, or extended. For example, a simple service provider might provide basic telephony service, such as support for outbound calls, through a Hayes-compatible modem. A custom service provider, written by a third-party vendor, might provide a full range of outbound call management.
A user can install any number of service providers on a computer as long as the service providers do not attempt to access the same hardware device at the same time. A user associates the hardware and the service provider when they install. Some service providers may be capable of accessing multiple devices. In some cases, a user might need to install a device driver along with the service provider.
Applications use the TAPI functions to determine which services are available on the device. TAPI identifies available service providers and the services supported, and provides this data to applications. In this way, any number of applications can request services from the same service provider; TAPI manages all access to the service provider.
For more information about TSPI and service providers, see the Microsoft TSPI Programmer's Reference available on the Microsoft Developer Network (MSDN).