Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This property specifies the source journaling level for the message.

The source journaling level specifies if a copy of the message should be kept in a machine journal (on the originating machine), sent to a dead-letter queue, or neither.

Type Indicator

VT_UI1

PROPVARIANT Field

bVal

Property Values

This property can be set to one or more of the following values.

Value Description

MQMSG_DEADLETTER

For nontransactional messages, the message is sent to the nontransactional dead-letter queue on the computer that could not deliver the message (for example, if a message timer expires).

For transactional messages, the message is sent to the transactional dead-letter queue on the source machine in all negative and in-doubt cases.

For MSMQ 1.0 and 2.0 differences, see the Remarkssection.

MQMSG_JOURNAL

When the message is transmitted (from the originating machine to the next hop), it is kept in a machine journal on the originating machine.

MQMSG_JOURNAL_NONE

The default. The message is not kept in the machine journal of the originating machine.

Remarks

PROPID_M_JOURNAL does not create a queue.

Machine journals and dead-letter queues are system queues generated by MSMQ.

When you store messages in a journal or dead-letter queue, clear these queues periodically to remove messages that are no longer needed.

Messages stored in a journal and dead-letter queues count against the quota for the computer where the queues reside (the computer quota is set by the administrator).

Keep in mind the following differences between MSMQ 1.0 and MSMQ 2.0:

  • In MSMQ 1.0, this property is ignored for transactional messages; all transactional messages not confirmed by MSMQ are sent to the dead-letter queue.

  • In MSMQ 2.0, this property is not ignored. The default of the PROPID_M_JOURNAL property is MQMSG_JOURNAL_NONE (undelivered transactional messages are not sent to the dead-letter queue).

    To use the transaction confirmation process provided by MSMQ, specify MQMSG_DEADLETTER.

    To use a machine journal or dead-letter queue, specify PROPID_M_JOURNAL in the MQMSGPROPSstructure and call MQSendMessage.

    To retrieve the journaling level of a message, specify PROPID_M_JOURNAL in the MQMSGPROPSstructure. Then call MQReceiveMessageand examine the returned value.

Examples

This example shows how PROPID_M_JOURNAL is specified in the MQMSGPROPSstructure.

Copy Code
aMsgPropId[i] = PROPID_M_JOURNAL; 	 // Property ID
aMsgPropVar[i].vt = VT_UI1; 			 // Type indicator
MsgProps.aPropVar[i].bVal = MQMSG_JOURNAL;  // Value
i++;
Note:
OS versions prior to 2.12 require the MSMQ add-on pack.

Requirements

Header mq.h
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also