EnterpriseServicesHelper.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / clr / src / BCL / System / Runtime / Remoting / EnterpriseServicesHelper.cs / 1 / EnterpriseServicesHelper.cs

                            // ==++== 
//
//   Copyright (c) Microsoft Corporation.  All rights reserved.
//
// ==--== 
/*============================================================
** 
** File:    ComponentServices.cs 
**
** 
** Purpose: Defines the general purpose ComponentServices
**
**
===========================================================*/ 
namespace System.Runtime.Remoting.Services {
    using System; 
    using System.Reflection; 
   using System.Runtime.Remoting.Activation;
    using System.Runtime.Remoting.Proxies; 
    using System.Runtime.Remoting.Messaging;
   using System.Text;
   using System.Runtime.Serialization;
    using System.Runtime.CompilerServices; 
   using System.Security.Permissions;
    using System.Runtime.InteropServices; 
 
    //---------------------------------------------------------\\
   //---------------------------------------------------------\\ 
    // internal sealed class ComponentServices               \\
   //---------------------------------------------------------\\
   //----------------------------------------------------------\\
 
    [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.Infrastructure)]
[System.Runtime.InteropServices.ComVisible(true)] 
   public sealed class EnterpriseServicesHelper 
    {
       [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)] 
      public static Object WrapIUnknownWithComObject(IntPtr punk)
       {
            return Marshal.InternalWrapIUnknownWithComObject(punk);
      } 

[System.Runtime.InteropServices.ComVisible(true)] 
      public static IConstructionReturnMessage CreateConstructionReturnMessage(IConstructionCallMessage ctorMsg, MarshalByRefObject retObj) 
      {
            IConstructionReturnMessage ctorRetMsg = null; 

            // Create the return message
            ctorRetMsg = new ConstructorReturnMessage(retObj, null, 0, null, ctorMsg);
 
            //
 
            return ctorRetMsg; 
       }
 
      [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)]
       public static void SwitchWrappers(RealProxy oldcp, RealProxy newcp)
       {
         Object oldtp = oldcp.GetTransparentProxy(); 
          Object newtp = newcp.GetTransparentProxy();
 
         IntPtr oldcontextId = RemotingServices.GetServerContextForProxy(oldtp); 
         IntPtr newcontextId = RemotingServices.GetServerContextForProxy(newtp);
 
         // switch the CCW from oldtp to new tp
          Marshal.InternalSwitchCCW(oldtp, newtp);
      }
    }; 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK