2.2.36 FAX_JOB_STATUS

The FAX_JOB_STATUS data type can be passed as a pointer reference inside FAX_JOB_ENTRY_EXW (section 2.2.35) or FAX_JOB_ENTRY_EX_1 (section 2.2.34).

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 (120 bytes)

...

...

...

Variable_Data (variable)

...

Fixed_Portion (120 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

dwSizeOfStruct

dwValidityMask

dwJobID

dwJobType

dwQueueStatus

dwExtendedStatus

lpcwstrExtendedStatusOffset

dwSize

dwPageCount

dwCurrentPage

lpcwstrTsidOffset

lpcwstrCsidOffset

tmScheduleTime (16 bytes)

...

...

...

tmTransmissionStartTime (16 bytes)

...

...

...

tmTransmissionEndTime (16 bytes)

...

...

...

dwDeviceID

lpcwstrDeviceNameOffset

dwRetries

lpcwstrCallerIDOffset

lpcwstrRoutingInfoOffset

dwAvailableJobOperations

dwSizeOfStruct (4 bytes): A DWORD ([MS-DTYP] section 2.2.9) that indicates the size, in bytes, of the structure. MUST be set to 120 bytes.

dwValidityMask (4 bytes): A DWORD value that holds a bitwise OR of valid fields in FAX_ENUM_JOB_FIELDS (section 2.2.77).

dwJobID (4 bytes): A DWORD that contains the session job identifier of the fax job.

dwJobType (4 bytes): A DWORD that holds the type of the fax job. It is one of the following values; see section 3.1.1 for more information.

Value/code

Meaning

0x00000000

The job type is JT_UNKNOWN.

0x00000001

The jobtype is JT_SEND.

0x00000002

The job type is JT_RECEIVE.

0x00000003

The job type is JT_ROUTING.

0x00000004

The job type is JT_FAIL_RECEIVE.

0x00000020

The job type is JT_BROADCAST.<10>

dwQueueStatus (4 bytes): A DWORD that holds a bitwise OR combination of the Job Status bit flags listed in section 3.1.1.

dwExtendedStatus (4 bytes): A DWORD that holds a predefined fax-extended status code as described in the following table.

Value/code

Meaning

JS_EX_NONE

0x00000000

No extended status code is available.

JS_EX_DISCONNECTED

0x00000001

The sender or the caller disconnected the fax call.

JS_EX_INITIALIZING

0x00000002

The device is initializing a call.

JS_EX_DIALING

0x00000003

The device is dialing a fax number.

JS_EX_TRANSMITTING

0x00000004

The device is sending a fax document.

JS_EX_ANSWERED

0x00000005

The device answered a new call.

JS_EX_RECEIVING

0x00000006

The device is receiving a fax document.

JS_EX_LINE_UNAVAILABLE

0x00000007

The device is not available because it is in use by another application.

JS_EX_BUSY

0x00000008

The device encountered a busy signal.

JS_EX_NO_ANSWER

0x00000009

The receiving device did not answer the call.

JS_EX_BAD_ADDRESS

0x0000000A

The device dialed an invalid fax number.

JS_EX_NO_DIAL_TONE

0x0000000B

The sending device cannot complete the call because it does not detect a dial tone.

JS_EX_FATAL_ERROR

0x0000000C

The device has encountered a fatal protocol error.

JS_EX_CALL_DELAYED

0x0000000D

The device delayed a fax call because the sending device received a busy signal multiple times. The device cannot retry the call because dialing restrictions exist (some countries and regions restrict the number of retry attempts when a number is busy).

JS_EX_CALL_BLACKLISTED

0x0000000E

The device could not complete a call because the telephone number was blocked or reserved; emergency numbers such as 911 are blocked.

JS_EX_NOT_FAX_CALL

0x0000000F

The device received a call that was a data call or a voice call.

JS_EX_PARTIALLY_RECEIVED

0x00000010

The incoming fax was partially received. Some (but not all) of the pages are available.

JS_EX_HANDLED

0x00000011

The fax service processed the outbound fax document; the fax service provider (FSP) MAY transmit the fax document.

JS_EX_CALL_COMPLETED

0x00000012

The call was completed successfully.

JS_EX_CALL_ABORTED

0x00000013

The call was terminated.

lpcwstrExtendedStatusOffset (4 bytes): Offset to the lpcwstrExtendedStatus field in the Variable_Data portion of the structure. If this offset is zero, the extended status is a standard extended status described by a greater than zero dwExtendedStatus. If this offset is not zero, the offset points to a valid NULL-terminated character string in the Variable_Data of this structure that describes a proprietary (custom) extended status for the respective FSP.

dwSize (4 bytes): A DWORD that holds the size, in bytes, of the fax document to transmit.

dwPageCount (4 bytes): A DWORD that holds the total number of pages in the fax transmission.

dwCurrentPage (4 bytes): A DWORD that holds the index of the page that the fax device is currently sending or receiving in the fax transmission. This page index is a 1-based index value (1 for the first page transmitted, 2 for the second, and so on; it is not 0 for the first page transmitted, 1 for the second page transmitted, and so on).

lpcwstrTsidOffset (4 bytes): Offset to the lpcwstrTsid field in the Variable_Data portion of the structure.

lpcwstrCsidOffset (4 bytes): Offset to the lpcwstrCsid field in the Variable_Data portion of the structure.

tmScheduleTime (16 bytes): For outgoing faxes only. This field is a SYSTEMTIME ([MS-DTYP] section 2.3.13) structure that holds the date and time to send the fax message. This time is expressed in Coordinated Universal Time (UTC).

tmTransmissionStartTime (16 bytes): A SYSTEMTIME that holds the date and time when the fax message’s transmission started. This time is expressed in UTC.

tmTransmissionEndTime (16 bytes): A SYSTEMTIME that holds the date and time when the fax message’s transmission ended. This time is expressed in UTC.

dwDeviceID (4 bytes): A DWORD that holds the identifier of the device used to receive or send the fax messages.

lpcwstrDeviceNameOffset (4 bytes): Offset to the lpcwstrDeviceName field in the Variable_Data portion of the structure.

dwRetries (4 bytes): For outgoing faxes only. This field is a DWORD that holds the number of failed transmission retries counted for the current fax job.

lpcwstrCallerIDOffset (4 bytes): Offset to the lpcwstrCallerId field in the Variable_Data portion of the structure.

lpcwstrRoutingInfoOffset (4 bytes): Offset to the lpcwstrRoutingInfo field in the Variable_Data portion of the structure.

dwAvailableJobOperations (4 bytes): A DWORD containing a bitwise combination of values defined in FAX_ENUM_JOB_OP (section 2.2.58). This combination value describes the operations available on the current job. The access rights of the caller are not taken into account.

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

lpcwstrExtendedStatus (variable)

...

lpcwstrTsid (variable)

...

lpcwstrCsid (variable)

...

lpcwstrDeviceName (variable)

...

lpcwstrCallerID (variable)

...

lpcwstrRoutingInfo (variable)

...

lpcwstrExtendedStatus (variable): A null-terminated string that holds a fax-extended status provided by the Fax Service Provider (FSP). If this field is not present, the extended status MUST be a standard extended status described by a greater than zero dwExtendedStatus. If this field is present it MUST contain a valid NULL-terminated character string that describes a proprietary (custom) extended status for the respective FSP.

lpcwstrTsid (variable): A null-terminated character string that holds the identifier of the transmitting subscriber. This identifier can be a telephone number.

lpcwstrCsid (variable): A null-terminated character string that holds the called subscriber identifier. This identifier can be a telephone number.

lpcwstrDeviceName (variable): A null-terminated character string that holds the name of the device used to receive or send the fax message.

lpcwstrCallerID (variable): For incoming faxes only. A null-terminated character string that contains the caller ID of the calling device that sent the fax. This string can include the telephone number of the calling device.

lpcwstrRoutingInfo (variable): For incoming faxes only. A null-terminated character string that identifies the routing string for the fax. This string can include the telephone number of the called device.