EnterpriseServicesHelper.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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);
 
            // NOTE: WE ALLOW ONLY DEFAULT CTORs on SERVICEDCOMPONENTS
 
            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.
//
// ==--== 
/*============================================================
** 
** 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);
 
            // NOTE: WE ALLOW ONLY DEFAULT CTORs on SERVICEDCOMPONENTS
 
            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.

                        

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