MSMQTransaction.Commit

 

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 Commit method of the MSMQTransaction object, which identifies the underlying transaction object, commits the transaction represented by the MSMQTransaction object, requesting performance of all the operations included in the transaction.

Sub Commit( _  
  [ ByRef fRetaining As Variant ], _  
  [ ByRef grfTC As Variant ], _  
  [ ByRef grfRM As Variant ] _  
  )  

Parameters

fRetaining

[in, optional] Boolean (in C++, a reference to a VARIANT containing a VARIANT_BOOL). The default is False. Reserved by Microsoft® Distributed Transaction Coordinator (MS DTC).

grfTC

[in, optional] One of the following constants that specifies whether the commit is synchronous (default) or asynchronous (in C++, a reference to a VARIANT containing a LONG that specifies the constant):

XACTTC_ASYNC: When specified, the call to commit returns as soon as the two-phase commit protocol is initiated.

XACTTC_SYNC_PHASEONE: When specified, the call to commit returns after phase one of the two-phase commit protocol.

grfRM

[in, optional] Long (in C++, a reference to a VARIANT containing a LONG). The default is 0. Reserved by MS DTC.

Return Values

This method has no return values.

Error Codes

For a complete list of error and information codes, see Message Queuing Error and Information Codes.

Remarks

Calling Commit does not mean that the operations requested are performed. It only means that Message Queuing guarantees that the operations will be performed as an atomic unit or not performed at all.

Commit is a wrapper for lTransaction::Commit. (For information on ITransaction::Commit, see the Platform SDK.)

An application must call Commit for the messages to be sent. If Commit is not called, the transaction will be terminated when the application exits.

For information on Microsoft Distributed Transaction Coordinator (MS DTC or DTC), see the Platform SDK.

For information on See
The Message Queuing transaction model Transactions
The types of transaction supported by MSMQ Transaction Types
How Message Queuing sends and retrieves messages within a transaction Sending and Retrieving Messages within a Transaction

Example Code

The following examples are included in Using Message Queuing.

For an example of See
Sending messages using an MS DTC external transaction Visual Basic Code Example: Sending a Message Using an MS DTC External Transaction
Sending messages using an internal transaction Visual Basic 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 Mqoai.h.

Library: Use Mqoa.lib.

See Also

MSMQCoordinatedTransactionDispenser.BeginTransaction
MSMQTransaction