FaxDevSend function (faxdev.h)

The fax service calls the FaxDevSend function to signal a fax service provider (FSP) that it must initiate an outgoing fax transmission. Each FSP must export the FaxDevSend function.


BOOL FaxDevSend(
  [in] HANDLE             FaxHandle,
  [in] PFAX_SEND          FaxSend,
       PFAX_SEND_CALLBACK FaxSendCallback


[in] FaxHandle


Specifies a fax handle returned by the FaxDevStartJob function.

[in] FaxSend


Pointer to a FAX_SEND structure that contains the sending information. For more information, see the following Remarks section.



Pointer to a callback function that notifies the fax service of the call handle that TAPI assigns. For more information, see the following Remarks section.

Return value

Type: BOOL

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, the fax service calls GetLastError.

Note  For a successful send, FaxDevSend() should return TRUE and FaxDevReportStatus() should return FS_COMPLETED. For an unsuccessful send, FaxDevSend() should return FALSE, and FaxDevReportStatus() should return any of the following codes: FS_LINE_UNAVAILABLE, FS_NO_ANSWER, FS_NO_DIAL_TONE, FS_DISCONNECTED, FS_BUSY, FS_NOT_FAX_CALL, or FS_FATAL_ERROR. If after a failed fax the fax should not be re-sent, FaxDevReportStatus() should return any code other than those listed here.


The FSP must respond to the FaxDevSend function by making the call, sending the data, and terminating the call. The provider can call the lineSetMediaMode function to correctly set the call's media mode. The fax service provider must dial the number specified by the ReceiverNumber member of the FAX_SEND structure.

The FSP has ownership of the line while in the context of the FaxDevSend function, and it must handle all protocol and error correction.

The data stream stored in the file specified by the FileName member of the FAX_SEND structure is a Tagged Image File Format Class F (TIFF Class F) file. For more information, see Fax Image Format.

To notify the fax service that a call has been established, the FSP must call the FaxSendCallback function pointed to by the FaxSendCallback parameter. The callback function also provides the fax service with the call handle that TAPI assigns. This handle is necessary for TAPI message routing. If the FSP does not call FaxSendCallback, it will miss all call-specific events for the send operation.


Minimum supported client Windows 2000 Professional, Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header faxdev.h

See also


Fax Service Provider Functions




Using the Fax Service Provider API