Routing a Fax

The fax routing extension can export multiple FaxRouteMethod routing functions, one function for each routing method. Each function must have a unique name. FaxRouteMethod is a placeholder for an extension-defined fax routing method.

The fax service passes the FAX_ROUTE structure to the fax routing methods. The structure identifies the fax job connected with the received fax, and it contains routing information and data about the calling and receiving fax devices.

A fax routing method can call the FaxRouteModifyRoutingData callback function to change or append routing information in a FAX_ROUTE structure that applies to a subsequent routing method. The routing method to modify must have a lower priority than the calling routing method, and must run after the calling method. (The priority level determines the relative order in which the fax service calls the fax routing methods when the service receives a fax document.)

The fax service passes a pointer to the FaxRouteModifyRoutingData callback function when the fax service calls the FaxRouteInitialize function. The service passes the pointer in a FAX_ROUTE_CALLBACKROUTINES structure.

The FaxRouteGetRoutingInfo function and the FaxRouteSetRoutingInfo function retrieve and modify, respectively, fax routing configuration data for a specific fax device. The fax routing extension must export the FaxRouteGetRoutingInfo and FaxRouteSetRoutingInfo functions.

For information about enabling and disabling fax routing methods, see Managing Fax Devices.