internal override void EnterState(InternalTransaction tx)
{
base.EnterState(tx);
base.CommonEnterState(tx);
for (int i = 0; i < tx.phase0Volatiles.volatileEnlistmentCount; i++)
{
tx.phase0Volatiles.volatileEnlistments[i].twoPhaseState.InternalAborted(tx.phase0Volatiles.volatileEnlistments[i]);
}
for (int j = 0; j < tx.phase1Volatiles.volatileEnlistmentCount; j++)
{
tx.phase1Volatiles.volatileEnlistments[j].twoPhaseState.InternalAborted(tx.phase1Volatiles.volatileEnlistments[j]);
}
if (tx.durableEnlistment != null)
{
tx.durableEnlistment.State.InternalAborted(tx.durableEnlistment);
}
TransactionManager.TransactionTable.Remove(tx);
if (DiagnosticTrace.Warning)
{
TransactionAbortedTraceRecord.Trace(System.Transactions.SR.GetString("TraceSourceLtm"), tx.TransactionTraceId);
}
tx.FireCompletion();
if (tx.asyncCommit)
{
tx.SignalAsyncCompletion();
}
}