Optional. The PROPID_Q_TRANSACTION property specifies whether the queue is a transaction queue or a non-transaction queue.
If a queue is transactional, it can only accept messages that are sent as part of a transaction (see MQSendMessage). However, messages can be retrieved from a local transaction queue with or without using a transaction (see MQReceiveMessage).
For information on how MSMQ performs transactions, see MSMQ Transactions.
To create a transaction queue, set PROPID_Q_TRANSACTION to MQ_TRANSACTIONAL and pass it to MQCreateQueue.
PROPID_Q_TRANSACTION cannot be changed once the queue is created. If an attempt is made to set it afterward, an MQ_ERROR_PROPERTY error is returned to the call and the property's associated aStatus entry will contain MQ_PROPERTY_NOTALLOWED.
To determine if the queue is a transaction queue, pass PROPID_Q_TRANSACTION to MQGetQueueProperties and examine its returned value.
MQCreateQueue, MQGetQueueProperties, MQReceiveMessage, MQSendMessage