public MsgRegisterCompletionEvent(CompletionEnlistment completion, ref Register register, RequestAsyncResult result, CompletionParticipantProxy proxy) : base(completion)
 {
     this.register = register;
     proxy.AddRef();
     this.proxy = proxy;
     this.result = result;
 }
 private void OnSendComplete(IAsyncResult ar, CompletionEnlistment completion, CompletionParticipantProxy proxy)
 {
     try
     {
         proxy.EndSendMessage(ar);
     }
     catch (WsatSendFailureException exception)
     {
         Microsoft.Transactions.Bridge.DiagnosticUtility.ExceptionUtility.TraceHandledException(exception, TraceEventType.Warning);
         this.state.Perf.MessageSendFailureCountPerInterval.Increment();
         if (completion != null)
         {
             DebugTrace.TraceSendFailure(completion.EnlistmentId, exception);
         }
         else
         {
             DebugTrace.TraceSendFailure(exception);
         }
     }
 }
 public void SetCompletionProxy(CompletionParticipantProxy proxy)
 {
     proxy.AddRef();
     this.participantProxy = proxy;
 }