Platform SDK: Fax Services

FaxEnumRoutingMethods

The FaxEnumRoutingMethods function enumerates all fax routing methods for a specific fax device. The function returns information about each routing method to a fax client application.

BOOL WINAPI FaxEnumRoutingMethods(
  HANDLE FaxPortHandle,    // fax port handle
  PFAX_ROUTING_METHOD *RoutingMethod, 
                           // buffer to receive routing method data
  LPDWORD MethodsReturned  // number of routing method structures returned
);

Parameters

FaxPortHandle
[in] Specifies a fax port handle returned by a call to the FaxOpenPort function.
RoutingMethod
[out] Pointer to the address of a buffer to receive an array of FAX_ROUTING_METHOD structures. Each structure contains information about one fax routing method. The data includes, among other items, the name of the DLL that exports the routing method, the GUID and function name that identify the routing method, and the method's user-friendly name.

For information about memory allocation, see the following Remarks section. For information about fax routing methods, see About the Fax Routing Extension API.

MethodsReturned
[out] Pointer to a DWORD variable to receive the number of FAX_ROUTING_METHOD structures the FaxEnumRoutingMethods function returns in the RoutingMethod parameter.

Return Values

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError. GetLastError can return one of the following errors.

Error code Description
ERROR_ACCESS_DENIED Access is denied. FAX_PORT_QUERY access is required.
ERROR_INVALID_PARAMETER One or all of the MethodsReturned, RoutingMethod, or FaxPortHandle parameters are NULL.
ERROR_NOT_ENOUGH_MEMORY An error occurred during memory allocation.

Remarks

A fax administration application typically calls the FaxEnumRoutingMethods function to query the fax routing methods associated with a particular device. A call to the FaxSetRoutingInfo function changes the routing information for a particular fax routing method.

The FaxEnumGlobalRoutingInfo function retrieves routing information that applies globally to the fax server, such as routing priority. An application can modify global data with a call to the FaxSetGlobalRoutingInfo function.

The FaxEnumRoutingMethods function allocates the memory required for the FAX_ROUTING_METHOD buffer array pointed to by the RoutingMethod parameter. An application must call the FaxFreeBuffer function to deallocate the resources associated with this parameter.

For more information, see Fax Server Configuration Management and Freeing Fax Resources.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable with BackOffice Small Business Server.
  Header: Declared in Winfax.h.
  Library: Included as a resource in Winfax.dll.
  Unicode: Implemented as Unicode and ANSI versions on all platforms.

See Also

Fax Service Client Application Programming Interface Overview, Fax Service Client API Functions, FaxFreeBuffer, FaxOpenPort, FaxEnableRoutingMethod, FaxGetRoutingInfo, FaxSetRoutingInfo, FaxEnumGlobalRoutingInfo, FaxSetGlobalRoutingInfo, FAX_GLOBAL_ROUTING_INFO, FAX_ROUTING_METHOD