MQBeginTransaction
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
The MQBeginTransaction function creates a Message Queuing internal transaction object that can be used to send messages to a queue or read messages from a queue.
HRESULT APIENTRY MQBeginTransaction(
ITransaction ** ppTransaction
);
Parameters
ppTransaction
[out] Pointer to a pointer to the ITransaction interface for the new transaction object.
Return Values
MQ_OK
Indicates success.
MQ_ERROR_INSUFFICIENT_RESOURCES (0xC00E0027)
There are no resources to create a new transaction.
MQ_ERROR_TRANSACTION_ENLIST (0xC00E0058)
Message Queuing could not enlist in the transaction.
Remarks
The pointer returned by MQBeginTransaction can be used to set the pTransaction parameter of MQSendMessage or MQReceiveMessage.
When using an explicit internal transaction, make sure that the transact.h header file is included before mq.h. Transact.h provides the transaction object.
Equivalent COM Method
When using COM components, you can initiate a new Message Queuing internal transaction by calling the MSMQTransactionDispenser.BeginTransaction method, which returns a COM object that represents the new underlying transaction object.
For information on | See |
---|---|
Explicit internal transactions | Message Queuing Internal Transactions |
Implicit internal transactions | Single-Message Transactions |
Example Code
The following code example is included in Using Message Queuing.
For a complete example of | See |
---|---|
Sending a message using an internal transaction | C/C++ Code Example: Sending a Message Using an Internal Transaction |
Requirements
Windows NT/2000/XP: Included in Windows NT 4.0 SP3 and later.
Windows 95/98/Me: Included in Windows 95 and later.
Header: Declared in Mq.h.
Library: Use Mqrt.lib.