Platform SDK: Fax Services

Transmitting a Fax

To signal a fax service provider DLL that it must initiate an outgoing fax transmission, the fax service calls the FaxDevSend function. The provider must make the call, send the fax data stream, and terminate the call unless the CallHandle member of the FAX_SEND structure specifies a valid TAPI call handle. In this situation, the provider should send the transmission using the existing line connection instead of initiating a new call. The FAX_SEND structure also identifies the file that holds the outbound fax document, and it contains information about the calling and receiving fax devices.

The fax service provides a pointer to the FAX_SEND_CALLBACK function. The fax service provider calls FAX_SEND_CALLBACK to notify the fax service that an outbound fax call is in progress. The FAX_SEND_CALLBACK function is also necessary for TAPI message routing.

The fax service calls the FaxDevReceive function to notify a fax service provider DLL when there is an incoming fax transmission. The provider must accept the incoming call and store the fax data stream. The FAX_RECEIVE structure identifies the file in which the fax service provider should store the inbound fax data stream, and it contains information about the receiving fax device.

The fax service provider must export both the FaxDevSend and FaxDevReceive functions.

For more information, see Using a Virtual Device to Transmit a Fax.