2.2.8 _FAX_PORT_INFO

The _FAX_PORT_INFO data structure is the custom-marshaled variant of the FAX_PORT_INFO (section 2.2.7) data structure. This structure describes one fax port. The data includes, among other items, a device identifier, the port's name and current status, and subscriber identifiers.

If an application calls the FAX_EnumPorts (section 3.1.4.1.28) function to enumerate all the fax devices currently attached to a fax server, the function returns a byte array of _FAX_PORT_INFO structures. Each structure describes one device in detail.

If an application calls the FAX_GetPort (section 3.1.4.1.51) function to query one device, that function returns information about the device in one _FAX_PORT_INFO.

This structure is also returned as a single structure by the FaxObs_GetPort (section 3.1.4.2.16) method and as an array of structures by the FaxObs_EnumPorts (section 3.1.4.2.15) method.

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

State

Flags

Rings

Priority

DeviceNameOffset

TsidOffset

CsidOffset

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

DeviceId (4 bytes): See the DeviceId field for FAX_PORT_INFO.

State (4 bytes): See the State field for FAX_PORT_INFO.

Flags (4 bytes): See the Flags field for FAX_PORT_INFO.

Rings (4 bytes): See the Rings field for FAX_PORT_INFO.

Priority (4 bytes): See the Priority field for FAX_PORT_INFO.

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

TsidOffset (4 bytes): Offset to the Tsid field in the Variable_Data portion of the structure.

CsidOffset (4 bytes): Offset to the Csid field in the Variable_Data portion 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)

...

Tsid (variable)

...

Csid (variable)

...

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

Tsid (variable): A null-terminated string that holds the transmitting subscriber identifier (TSID) with same description as for the Tsid field of FAX_PORT_INFO.

Csid (variable): A null-terminated string that holds the called subscriber identifier (CSID) with same description as for the Csid field of FAX_PORT_INFO.