MDAC 2.5 SDK - OLE DB Programmer's Reference
Chapter 15: Transactions
Providers can support extended transaction functionality by exposing ITransactionObject on session objects. The consumer can call ITransactionObject::GetTransactionObject to get an ITransaction interface pointer on the transaction object associated with a particular transaction nesting level. This transaction object can be used to commit or abort a nested transaction at a particular level or to enlist in transaction outcome events for any level.