System.Transactions.TransactionStatePhase0.EnlistVolatile C# (CSharp) Method

EnlistVolatile() private method

private EnlistVolatile ( InternalTransaction tx, IEnlistmentNotification enlistmentNotification, EnlistmentOptions enlistmentOptions, Transaction atomicTransaction ) : Enlistment
tx InternalTransaction
enlistmentNotification IEnlistmentNotification
enlistmentOptions EnlistmentOptions
atomicTransaction Transaction
return Enlistment
        internal override Enlistment EnlistVolatile(
            InternalTransaction tx,
            IEnlistmentNotification enlistmentNotification,
            EnlistmentOptions enlistmentOptions,
            Transaction atomicTransaction
            )
        {
            Enlistment enlistment = new Enlistment(tx, enlistmentNotification, null, atomicTransaction, enlistmentOptions);
            if ((enlistmentOptions & EnlistmentOptions.EnlistDuringPrepareRequired) != 0)
            {
                AddVolatileEnlistment(ref tx._phase0Volatiles, enlistment);
            }
            else
            {
                AddVolatileEnlistment(ref tx._phase1Volatiles, enlistment);
            }

            TransactionsEtwProvider etwLog = TransactionsEtwProvider.Log;
            if (etwLog.IsEnabled())
            {
                etwLog.TransactionstateEnlist(enlistment.InternalEnlistment.EnlistmentTraceId, EnlistmentType.Volatile, enlistmentOptions);
            }

            return enlistment;
        }

Same methods

TransactionStatePhase0::EnlistVolatile ( InternalTransaction tx, ISinglePhaseNotification enlistmentNotification, EnlistmentOptions enlistmentOptions, Transaction atomicTransaction ) : Enlistment