A resource manager that implements this interface delegates control of the commit of it's internal non-distributed transaction to an enlistment on a System.Transactions transaction through the EnlistPromotableSinglePhase method on the Transaction class.

If the ITransactionPromoter.Promote method is called, your implementation of this interface must produce a distributed transaction in the form of a propagation token, and return it to System.Transactions.

After you enlist an object that implements this interface as a participant of a transaction using the EnlistPromotableSinglePhase method, the transaction manager then notifies the participant when the transaction is promoted, committed, or rolled back by invoking the Promote method, the SinglePhaseCommit method, or the Rollback method of the object.