Transaction Functions, Methods, and Properties
Applies To: Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server Technical Preview, Windows Vista
Here is a summary of the API functions and COM methods that are typically called by transaction applications, followed by a list of those message properties set by Message Queuing when transactions are used to send messages.
The following summary includes the API functions and COM methods that are typically used when sending or reading messages within transactions.
Function and method used to create transactional queues.
Function and method use to send messages in transactions.
Functions and methods used to read messages in transactions.
MQReceiveMessageByLookupId (introduced in MSMQ 3.0)
MSMQQueue.PeekFirstByLookupId (introduced in MSMQ 3.0)
MSMQQueue.PeekPreviousByLookupId (introduced in MSMQ 3.0)
MSMQQueue.PeekByLookupId (introduced in MSMQ 3.0)
MSMQQueue.PeekNextByLookupId (introduced in MSMQ 3.0)
MSMQQueue.PeekLastByLookupId (introduced in MSMQ 3.0)
MSMQQueue.ReceiveFirstByLookupId (introduced in MSMQ 3.0)
MSMQQueue.ReceivePreviousByLookupId (introduced in MSMQ 3.0)
MSMQQueue.ReceiveByLookupId (introduced in MSMQ 3.0)
MSMQQueue.ReceiveNextByLookupId (introduced in MSMQ 3.0)
MSMQQueue.ReceiveLastByLookupId (introduced in MSMQ 3.0)
Messages Sent within a Transaction
The following message properties are set by Message Queuing when messages are sent within a transaction.
PROPID_M_PRIORITY and MSMQMessage.Priority
When sending messages, Message Queuing sets the priority level of the message to "0" regardless of what the sending application may specify.
PROPID_M_TIME_TO_BE_RECEIVED and MSMQMessage.MaxTimeToReceive
When sending multiple messages, Message Queuing sets the time-to-be-received property of all transactional messages to the value specified by the first transactional message sent within the transaction. Every transactional message sent in the transaction has the same time-to-be-received setting.
PROPID_M_TIME_TO_REACH_QUEUE and MSMQMessage.MaxTimeToReachQueue
When sending multiple messages, Message Queuing sets the time-to-reach-queue property of all transactional messages to the value specified by the first transactional message sent within the transaction. Every transactional message sent in the transaction has the same time-to-reach-queue setting.
More Information
For information on | See |
---|---|
Sending messages within a transaction | Sending Messages to a Transactional Queue |
Retrieving messages within a transaction | Retrieving Messages from a Transactional Queue |
How messages are placed in the queue | Ordering of Messages in a Transactional Queue |
Checking transaction boundaries on a queue basis | Checking for Transaction Boundaries when Receiving Messages |
Aborting transactions | Aborting the Transaction |