using System.Runtime.Remoting.Contexts;
using System.Runtime.CompilerServices;
using System.Runtime.Serialization;
-
-#if NET_2_0
using System.Runtime.InteropServices;
-#endif
namespace System.Runtime.Remoting.Proxies
{
#pragma warning disable 169, 649
+ [StructLayout (LayoutKind.Sequential)]
internal class TransparentProxy {
public RealProxy _rp;
IntPtr _class;
}
#pragma warning restore 169, 649
-#if NET_2_0
[ComVisible (true)]
-#endif
+ [StructLayout (LayoutKind.Sequential)]
public abstract class RealProxy {
// other classes visible to the runtime
// derive from this class so keep these locals
}
if (res_msg.LogicalCallContext != null && res_msg.LogicalCallContext.HasInfo)
- CallContext.UpdateCurrentCallContext (res_msg.LogicalCallContext);
+ CallContext.UpdateCurrentLogicalCallContext (res_msg.LogicalCallContext);
exc = res_msg.Exception;
out_args = null;
throw exc.FixRemotingException();
}
- else if (res_msg is IConstructionReturnMessage || mMsg.CallType == CallType.BeginInvoke) {
+ else if (res_msg is IConstructionReturnMessage) {
if (out_args == null)
out_args = res_msg.OutArgs;
}
+ else if (mMsg.CallType == CallType.BeginInvoke) {
+ // We don't have OutArgs in this case.
+ }
else if (mMsg.CallType == CallType.Sync) {
out_args = ProcessResponse (res_msg, mMsg);
}
}
[MonoTODO]
-#if NET_2_0
[ComVisible (true)]
-#endif
public IConstructionReturnMessage InitializeServerObject(IConstructionCallMessage ctorMsg)
{
throw new NotImplementedException();