2.2.37 FAX_MESSAGE_1
An array of the FAX_MESSAGE_1 data type can be passed as an out parameter (as a byte array) in the FAX_EnumMessagesEx (section 3.1.4.1.25) call. This data type can also be passed as an out parameter (as a byte array) in FAX_GetMessageEx (section 3.1.4.1.46).
This data structure is custom marshaled as follows and uses the custom-marshaling rules defined in section 2.2.1.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Fixed_Portion (192 bytes) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Variable_Data (variable) |
|||||||||||||||||||||||||||||||
... |
Fixed_Portion (192 bytes):
-
0
1
2
3
4
5
6
7
8
91
0
1
2
3
4
5
6
7
8
92
0
1
2
3
4
5
6
7
8
93
0
1dwSizeOfStruct
dwValidityMask
dwlMessageId
...
dwlBroadcastId
...
dwJobType
dwQueueStatus
dwExtendedStatus
lpcwstrExtendedStatusOffset
dwSize
dwPageCount
lpcwstrRecipientNumberOffset
lpcwstrRecipientNameOffset
lpcwstrSenderNumberOffset
lpcwstrSenderNameOffset
lpcwstrTsidOffset
lpcwstrCsidOffset
lpcwstrSenderUserNameOffset
lpcwstrBillingCodeOffset
tmOriginalScheduleTime (16 bytes)
...
...
...
tmSubmissionTime (16 bytes)
...
...
...
tmTransmissionStartTime (16 bytes)
...
...
...
tmTransmissionEndTime (16 bytes)
...
...
...
lpcwstrDeviceNameOffset
Priority
dwRetries
lpcwstrDocumentNameOffset
lpcwstrSubjectOffset
lpcwstrCallerIDOffset
lpcwstrRoutingInfoOffset
bHasCoverPage
dwReceiptType
lpcwstrReceiptAddressOffset
bServerReceiveFolder
dwMsgFlags
-
dwSizeOfStruct (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 192 bytes.
-
dwValidityMask (4 bytes): A DWORD value that defines a bitwise combination of valid fields in FAX_ENUM_JOB_FIELDS (section 2.2.77).
-
dwlMessageId (8 bytes): A DWORDLONG ([MS-DTYP] section 2.2.13) value that specifies the unique identifier of the fax message.
-
dwlBroadcastId (8 bytes): A DWORDLONG value that contains the Broadcast Identifier (section 3.1.1) if this fax message originates from a broadcast fax job; otherwise, 0.
-
dwJobType (4 bytes): A DWORD that specifies the job type of the archived fax.
-
Value/code
Meaning
JT_SEND
0x00000002
Job is an outgoing fax transmission.
JT_RECEIVE
0x00000004
Job is an incoming fax transmission.
-
-
dwQueueStatus (4 bytes): A DWORD value that contains a set of bit flags that indicate the last job status, recorded by the fax server just before the message was archived. This value MUST be a bitwise OR combination of one or more of the Job Status values listed in section 3.1.1.
-
dwExtendedStatus (4 bytes): A DWORD value that specifies extended status information.
-
Value/code
Meaning
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 FSP will 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 field is zero, dwExtendedStatus MUST be one of the predefined extended statuses. If the field is not zero, dwExtendedStatus is the extended status code as provided by the FSP.
-
dwSize (4 bytes): A DWORD value that specifies the size, in bytes, of the fax document.
-
dwPageCount (4 bytes): A DWORD value that specifies the total number of pages in the fax transmission.
-
lpcwstrRecipientNumberOffset (4 bytes): Offset to the lpcwstrRecipientNumber field in the Variable_Data portion of the structure.
-
lpcwstrRecipientNameOffset (4 bytes): Offset to the lpcwstrRecipientName field in the Variable_Data portion of the structure.
-
lpcwstrSenderNumberOffset (4 bytes): Offset to the lpcwstrSenderNumber field in the Variable_Data portion of the structure.
-
lpcwstrSenderNameOffset (4 bytes): Offset to the lpcwstrSenderName field in the Variable_Data portion of the structure.
-
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.
-
lpcwstrSenderUserNameOffset (4 bytes): Offset to the lpcwstrSenderUserName field in the Variable_Data portion of the structure. Used for outgoing faxes only; otherwise, SHOULD be zero.
-
lpcwstrBillingCodeOffset (4 bytes): Offset to the lpcwstrBillingCode field in the Variable_Data portion of the structure. Billing codes are optional. Used for outgoing faxes only; otherwise, SHOULD be zero.
-
tmOriginalScheduleTime (16 bytes): If the fax was sent using 1 (JSA_SPECIFIC_TIME was the value of the dwScheduleAction field in the FAX_JOB_PARAM_EXW (section 2.2.14) structure submitted as the lpJobParams argument to the FAX_SendDocumentEx (section 3.1.4.1.73) call that created the fax job), this field specifies a SYSTEMTIME ([MS-DTYP] section 2.3.13) structure that specifies the date and time originally used to send the fax. The time specified is expressed in UTC. Used for outgoing faxes only. This field is valid only if the FAX_JOB_FIELD_ORIGINAL_SCHEDULE_TIME bit is set in dwValidityMask; otherwise, the value of this field SHOULD be ignored.
-
tmSubmissionTime (16 bytes): A SYSTEMTIME that specifies the date and time the fax message was submitted for sending. The time specified is expressed in UTC. Used for outgoing faxes only. This field is valid only if the FAX_JOB_FIELD_SUBMISSION_TIME bit is set in dwValidityMask; otherwise, the value of this field SHOULD be ignored.
-
tmTransmissionStartTime (16 bytes): A SYSTEMTIME that specifies the start date and time the fax message was last transmitted. The time specified is expressed in UTC.
-
tmTransmissionEndTime (16 bytes): A SYSTEMTIME that specifies the end date and time the fax message was last transmitted. The time specified is expressed in UTC.
-
lpcwstrDeviceNameOffset (4 bytes): Offset to the lpcwstrDeviceName field in the Variable_Data portion of the structure.
-
Priority (4 bytes): A FAX_ENUM_PRIORITY_TYPE (section 2.2.65) value that contains the priority of the fax transmission. Used for outgoing faxes only.
-
dwRetries (4 bytes): A DWORD value that specifies the number of failed transmission retries counted for a fax job. Used for outgoing faxes only.
-
lpcwstrDocumentNameOffset (4 bytes): Offset to the lpcwstrDocumentName field in the Variable_Data portion of the structure. Used for outgoing faxes only; otherwise, SHOULD be zero.
-
lpcwstrSubjectOffset (4 bytes): Offset to the lpcwstrSubject field in the Variable_Data portion of the structure. Used for outgoing faxes only; otherwise, SHOULD be zero.
-
lpcwstrCallerIDOffset (4 bytes): Offset to the lpcwstrCallerID field in the Variable_Data portion of the structure. Used for incoming faxes only; otherwise, SHOULD be zero.
-
lpcwstrRoutingInfoOffset (4 bytes): Offset to the lpcwstrRoutingInfo field in the Variable_Data portion of the structure. Used for incoming faxes only; otherwise, SHOULD be zero.
-
bHasCoverPage (4 bytes): Boolean value that specifies whether the fax has a cover page. If this value is TRUE, the fax can have a cover page.
-
dwReceiptType (4 bytes): A DWORD value that specifies the type of receipt delivered to the sender when a fax is successfully sent and when a fax transmission fails. It can also specify whether a receipt will be sent for each recipient or for all recipients. This field can have one of the following values.
-
Value/code
Meaning
frtNONE
0x00000000
No receipt is sent.
frtMAIL
0x00000001
Receipt is sent to the email address specified in lpcwstrReceiptAddress. This receipt type provides detailed information on delivery status for each recipient.
frtMSGBOX
0x00000004
Receipt is sent to the sender by means of a text message containing a character string sent to the sender's computer as described in Messenger Service Remote Protocol Specification [MS-MSRP] section 3.2.4.1. This receipt type indicates only how many transmissions were completed successfully and how many failed.
-
-
lpcwstrReceiptAddressOffset (4 bytes): Offset to the lpcwstrReceiptAddress field in the Variable_Data portion of the structure.
-
bServerReceiveFolder (4 bytes): Boolean value that specifies whether the fax has been assigned or SHOULD be sent to the server receive folder. If this value is TRUE, the fax is sent to the server receive folder. If it is FALSE, the fax is sent to the appropriate account.
-
dwMsgFlags (4 bytes): Bitmask that specifies the state of various message flags. See FAX_MESSAGE_PROPS (section 2.2.15).
-
Value
Meaning
FAX_MSG_FLAG_READ
0x00000001
Indicates whether this message is marked as read. The message is marked as read if this bit is set. The default is unread for inbox messages and read for sent messages.
-
Variable_Data (variable):
-
0
1
2
3
4
5
6
7
8
91
0
1
2
3
4
5
6
7
8
92
0
1
2
3
4
5
6
7
8
93
0
1lpcwstrExtendedStatus (variable)
...
lpcwstrRecipientNumber (variable)
...
lpcwstrRecipientName (variable)
...
lpcwstrsendernumber (variable)
...
lpcwstrSenderName (variable)
...
lpcwstrTsid (variable)
...
lpcwstrCsid (variable)
...
lpcwstrSenderUserName (variable)
...
lpcwstrBillingCode (variable)
...
lpcwstrDeviceName (variable)
...
lpcwstrDocumentName (variable)
...
lpcwstrSubject (variable)
...
lpcwstrCallerID (variable)
...
lpcwstrRoutingInfo (variable)
...
lpcwstrReceiptAddress (variable)
...
-
lpcwstrExtendedStatus (variable): Null-terminated character string that specifies a fax-extended status string provided by the FSP.
-
lpcwstrRecipientNumber (variable): Null-terminated character string that specifies the fax number of the fax transmission recipient. This information is stored with the fax message as part of the recipient's personal profile (section 3.1.1).
-
lpcwstrRecipientName (variable): Null-terminated character string that specifies the name of the fax transmission recipient. This information is stored with the fax message as part of the recipient's personal profile.
-
lpcwstrsendernumber (variable): Null-terminated character string that specifies the fax number of the fax transmission sender. This information is stored with the fax message as part of the sender's personal profile.
-
lpcwstrSenderName (variable): Null-terminated character string that specifies the name of the fax transmission sender. This information is stored with the fax message as part of the sender's personal profile.
-
lpcwstrTsid (variable): Null-terminated character string that specifies the transmitting subscriber identifier. This information is stored with the fax message as part of the sender's personal profile.
-
lpcwstrCsid (variable): Null-terminated character string that specifies the called subscriber identifier. This information is stored with the fax message as part of the recipient's personal profile.
-
lpcwstrSenderUserName (variable): Null-terminated character string that specifies the name of the fax transmission sender of an outgoing fax job. This information is stored with the fax message as part of the sender's personal profile.
-
lpcwstrBillingCode (variable): Null-terminated character string that specifies a billing code that applies to the fax transmission.
-
lpcwstrDeviceName (variable): Null-terminated character string value that specifies the name of the device used to receive or send the fax document. The device can no longer exist.
-
lpcwstrDocumentName (variable): Null-terminated character string that holds the document name of the fax.
-
lpcwstrSubject (variable): Null-terminated character string that specifies the subject used on the fax cover page.
-
lpcwstrCallerID (variable): Null-terminated character string that specifies the caller ID of the calling device that sent the fax.
-
lpcwstrRoutingInfo (variable): Null-terminated character string that contains the routing string for the fax.
-
lpcwstrReceiptAddress (variable): Null-terminated character string that specifies an email address to which the fax service sends the delivery receipt when the job is finished.