// Token: 0x06000314 RID: 788 RVA: 0x000137EC File Offset: 0x000119EC private RfriStatus EndWrapper(string methodName, ICancelableAsyncResult asyncResult, Func <RfriDispatchTask, RfriStatus> endDelegate) { RfriStatus rfriStatus = RfriStatus.Success; RfriAsyncDispatch.ConditionalExceptionWrapper(ExTraceGlobals.ReferralTracer.IsTraceEnabled(TraceType.DebugTrace), delegate { DispatchTaskAsyncResult dispatchTaskAsyncResult = asyncResult as DispatchTaskAsyncResult; if (dispatchTaskAsyncResult != null) { RfriDispatchTask rfriDispatchTask = (RfriDispatchTask)dispatchTaskAsyncResult.DispatchTask; using (DisposeGuard disposeGuard = default(DisposeGuard)) { disposeGuard.Add <RfriDispatchTask>(rfriDispatchTask); rfriStatus = endDelegate(rfriDispatchTask); } ExTraceGlobals.ReferralTracer.TraceDebug <string, RfriStatus>(0, 0L, "{0} succeeded. RfriStatus={1}.", methodName, rfriStatus); return; } FailureAsyncResult <RfriStatus> failureAsyncResult = asyncResult as FailureAsyncResult <RfriStatus>; if (failureAsyncResult != null) { rfriStatus = failureAsyncResult.ErrorCode; ExTraceGlobals.ReferralTracer.TraceDebug <string, RfriStatus, Exception>(0, 0L, "{0} failed. RfriStatus={1}. Exception={2}.", methodName, rfriStatus, failureAsyncResult.Exception); return; } throw new InvalidOperationException(string.Format("Invalid IAsyncResult encountered; {0}", asyncResult)); }, delegate(Exception exception) { ExTraceGlobals.ReferralTracer.TraceDebug <string, Exception>(0, 0L, "{0} failed. Exception={1}.", methodName, exception); }); return(rfriStatus); }
// Token: 0x060001A7 RID: 423 RVA: 0x00009234 File Offset: 0x00007434 private NspiStatus EndWrapper(string methodName, ICancelableAsyncResult asyncResult, bool rundownContextOnFailure, Func <NspiDispatchTask, NspiStatus> endDelegate) { int contextHandle = 0; NspiStatus nspiStatus = NspiStatus.Success; NspiAsyncDispatch.ConditionalExceptionWrapper(ExTraceGlobals.NspiTracer.IsTraceEnabled(TraceType.DebugTrace), delegate { bool flag = false; try { DispatchTaskAsyncResult dispatchTaskAsyncResult = asyncResult as DispatchTaskAsyncResult; if (dispatchTaskAsyncResult != null) { NspiDispatchTask nspiDispatchTask = (NspiDispatchTask)dispatchTaskAsyncResult.DispatchTask; contextHandle = nspiDispatchTask.ContextHandle; using (DisposeGuard disposeGuard = default(DisposeGuard)) { disposeGuard.Add <NspiDispatchTask>(nspiDispatchTask); try { nspiStatus = endDelegate(nspiDispatchTask); } finally { if (nspiDispatchTask.IsContextRundown && contextHandle != 0) { this.ContextHandleRundown(new IntPtr(contextHandle)); contextHandle = 0; } } } ExTraceGlobals.NspiTracer.TraceDebug <string, int, NspiStatus>(0, 0L, "{0} succeeded. ContextHandle={1} NspiStatus={2}.", methodName, contextHandle, nspiStatus); flag = true; } else { FailureAsyncResult <NspiStatus> failureAsyncResult = asyncResult as FailureAsyncResult <NspiStatus>; if (failureAsyncResult == null) { throw new InvalidOperationException(string.Format("Invalid IAsyncResult encountered; {0}", asyncResult)); } nspiStatus = failureAsyncResult.ErrorCode; ExTraceGlobals.NspiTracer.TraceDebug(0, 0L, "{0} failed. ContextHandle={1} NspiStatus={2}. Exception={3}.", new object[] { methodName, failureAsyncResult.ContextHandle.ToInt32(), nspiStatus, failureAsyncResult.Exception }); } } finally { if (!flag && rundownContextOnFailure && contextHandle != 0) { this.ContextHandleRundown(new IntPtr(contextHandle)); } } }, delegate(Exception exception) { ExTraceGlobals.NspiTracer.TraceDebug <string, int, Exception>(0, 0L, "{0} failed. ContextHandle={1}, Exception={2}.", methodName, contextHandle, exception); }); return(nspiStatus); }