PROPID_Q_JOURNAL

Optional. The PROPID_Q_JOURNAL property specifies the journaling level of the queue. The journaling level indicates if messages retrieved from the queue are also copied to the queue's journal queue.

Type Indicator
VT_UI1
PROPVARIANT Field
bVal
Property Values
This property can be set to one of the following values:
MQ_JOURNAL
All messages removed from the specified queue are stored in the queue's journal queue.
MQ_JOURNAL_NONE
The default. Messages are not stored in a journal queue. All messages removed from the specified queue are discarded.

Remarks

Specifying the journaling level does not create a journal queue. Journal queues are system queues created by MSMQ. The application can only read the messages in a journal. For information on journal queues, see Journal Queues.

To save removed messages in a journal queue, specify PROPID_Q_JOURNAL in the MQQUEUEPROPS structure and call MQCreateQueue when creating the queue.

To start or stop storing messages in the journal queue, specify PROPID_Q_JOURNAL in the MQQUEUEPROPS structure and call MQSetQueueProperties. When the property value is changed, the remaining messages retrieved from the specified queue will be stored or discarded based on the new setting.

To determine if removed messages are being stored in the journal queue, specify PROPID_Q_JOURNAL in the MQQUEUEPROPS structure and call MQGetQueueProperties and examine its returned value.

By default, MSMQ sets the size of a queue journal to INFINITE. To specify the size of a queue journal, see PROPID_Q_JOURNAL_QUOTA.

Example

This example shows how PROPID_Q_JOURNAL is specified in the MQQUEUEPROPS structure for both setting and retrieving this property.

//To set PROPID_Q_JOURNAL
aPropID[i] = PROPID_Q_JOURNAL;              // Property identifier
aVariant[i].vt = VT_UI1;                    // Type indicator
aVariant[i].bVal = MQ_JOURNAL;              // Journal queue is used
i++

//To retrieve PROPID_Q_JOURNAL
aPropID[i] = PROPID_Q_JOURNAL;              // Property identifier
aVariant[i].vt = VT_UI1;                    // Type indicator
i++
 
For complete examples of… See…
Creating a public or private queue Creating a Queue
Retrieve the journaling level of the queue Retrieving PROPID_Q_JOURNAL

QuickInfo

  Windows NT: Requires version 4.0 SP3 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in mq.h.
  Import Library: Use mqrt.lib.
  Unicode: Defined only as Unicode.

See Also

MQCreateQueue, MQGetQueueProperties, MQSetQueueProperties, PROPID_Q_JOURNAL_QUOTA