Initializing a Fax Service Provider

Each time the fax service starts, it calls the Telephony Application Programming Interface (TAPI) lineInitializeEx function to retrieve the number of available line devices.

During initialization, the fax service checks the fax service provider (FSP) DLL for the FaxDevVirtualDeviceCreation function. If the provider exports FaxDevVirtualDeviceCreation, an optional function, the fax service expects the FSP to present one or more virtual fax devices. For more information, see Virtual Fax Devices.

The fax service also calls the FaxDevInitialize function each time the service starts to initialize the communication between the service and the FSP DLL.

The FSP must register the FaxLineCallback function by supplying a function pointer when the fax service calls FaxDevInitialize. The service calls FaxLineCallback to deliver TAPI events to the FSP.

The FSP must export FaxDevInitialize.

The following diagram illustrates the general flow of events during initialization of a FSP.

fax service provider initialization

Once the FSP has been initialized, the provider can send and receive faxes on the devices it supports.