Platform SDK: Fax Services

Fax Job Overview

A fax job is a set of fax operations. A fax operation can be a send operation or a receive operation. At the beginning of every fax job the fax service calls FaxDevStartJob to provide an opportunity for the fax service provider to perform call setup, and to initialize the new fax job. The fax service also calls FaxDevStartJob at the beginning of each fax operation because each operation executes in a separate thread.

The following diagram illustrates the sequence of function calls the fax service makes during a fax send operation or a fax receive operation. The fax service provider must export these functions.

The fax service calls the following functions sequentially in one synchronous thread:

  1. FaxDevStartJob. Initializes a fax job and signals the beginning of a fax operation.
  2. FaxDevSend (or FaxDevReceive). Signals the fax service provider to initiate an outgoing fax transmission (or to receive an incoming fax transmission).
  3. FaxDevReportStatus. Queries the fax service provider for status information about an active fax operation.
  4. FaxDevEndJob. Closes the active fax job.

The fax service can also call the FaxDevReportStatus and the FaxDevAbortOperation functions asynchronously, on an execution thread that is independent of the fax operation, during a send or a receive operation. FaxDevAbortOperation requests that the fax service provider terminate an active operation.

For more information, see the following topics: