Enlisting In a Transaction

After a resource is allocated, but just before returning the resource to the resource dispenser, DispMan checks with the MTS Executive to see if the calling object is running within a transaction. If the calling object is running within a transaction, then DispMan calls back to the resource dispenser and asks it to enlist the resource in the transaction. Then the resource is returned to the resource dispenser, which then returns it to the calling instance.

The resource dispenser must be able to enlist in an OLE Transactions transaction with the Microsoft Distributed Transaction Coordinator (MS DTC). For more information, see the Resource Manager's Guide.

Transaction enlistment is optional when a resource dispenser dispenses non-transactional resources, such as memory or threads.

The MTS Executive notifies DispMan when a transaction is complete, whether it committed or aborted. Then DispMan notifies each resource dispenser's holder that any resources enlisted in this transaction can now be moved to general inventory.