private static void AsyncComplete(IntPtr aPtr, IntPtr aAsyncHandle)
{
GCHandle gch = GCHandle.FromIntPtr(aPtr);
Invocation self = (Invocation)gch.Target;
try
{
self.iAsyncComplete(aAsyncHandle);
}
catch (ProxyError)
{
}
catch (Exception e)
{
System.Diagnostics.Debug.WriteLine("WARNING: unexpected exception {0} thrown", new object[] { e });
System.Diagnostics.Debug.WriteLine(" Only ProxyError can be thrown by action complete delegates");
}
gch.Free();
self.iService.InvocationComplete(self);
}
}