2.2.9 FAX_ROUTING_METHOD

The FAX_ROUTING_METHOD structure contains information about one fax routing method as it pertains to one fax device. This information describes one fax routing method (section 3.1.1). The data indicates (among other items) whether the fax routing method is enabled for the device, and the name of the binary that exports the routing method. It also includes the GUID and function name that uniquely identify the routing method and the method's user-friendly name.

A fax client application can call the FAX_EnumRoutingMethods (section 3.1.4.1.31) or FaxObs_EnumRoutingMethods (section 3.1.4.2.18) functions to enumerate all of the fax routing methods associated with a specific fax device. These functions each return an array of FAX_ROUTING_METHOD structures. Each structure describes one fax routing method in detail.

Call the FAX_EnableRoutingMethod (section 3.1.4.1.14) or the FaxObs_EnableRoutingMethod (section 3.1.4.2.19) functions to enable or disable a fax routing method for a specific fax device.

This data structure is custom marshaled as follows and uses the custom-marshaling rules defined in section 2.2.1.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Fixed_Portion (36 bytes)

...

...

...

Variable_Data (variable)

...

Fixed_Portion (36 bytes):


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

SizeOfStruct

DeviceId

Enabled

DeviceNameOffset

GuidOffset

FriendlyNameOffset

FunctionNameOffset

ExtensionImageNameOffset

ExtensionFriendlyNameOffset

SizeOfStruct (4 bytes): A DWORD ([MS-DTYP] section 2.2.9) value that holds the size of the Fixed_Portion block, in bytes. This value MUST be 36 bytes.

DeviceId (4 bytes): A DWORD that holds the line identifier for the fax device (port) of interest.

Enabled (4 bytes): A Boolean that indicates whether the fax routing method is enabled or disabled for the fax device of interest. If this value is equal to TRUE, the fax routing method is enabled for the device.

DeviceNameOffset (4 bytes): Offset to the DeviceName field in the Variable_Data block of the structure.

GuidOffset (4 bytes): Offset to the Guid field in the Variable_Data block of the structure.

FriendlyNameOffset (4 bytes): Offset to the FriendlyName field in the Variable_Data block of the structure.

FunctionNameOffset (4 bytes): Offset to the FunctionName field in the Variable_Data block of the structure.

ExtensionImageNameOffset (4 bytes): Offset to the ExtensionImageName field in the Variable_Data block of the structure.

ExtensionFriendlyNameOffset (4 bytes): Offset to the ExtensionFriendlyName field in the Variable_Data block of the structure.

Variable_Data (variable):


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

DeviceName (variable)

...

Guid (variable)

...

FriendlyName (variable)

...

FunctionName (variable)

...

ExtensionImageName (variable)

...

ExtensionFriendlyName (variable)

...

DeviceName (variable): A null-terminated character string that holds the name of the fax device.

Guid (variable): A null-terminated character string that holds the GUID that uniquely identifies the fax routing method.

FriendlyName (variable): A null-terminated character string that holds the user-friendly name to display for the fax routing method.

FunctionName (variable): A null-terminated character string that holds the name of the function that executes the specified fax routing procedure. The fax routing extension binary identified by the ExtensionImageName field exports the function.

ExtensionImageName (variable): A null-terminated character string that holds the name of the fax routing extension binary that implements the fax routing method.

ExtensionFriendlyName (variable): A null-terminated character string that holds the user-friendly name to display for the fax routing extension binary.