//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.Web.Hosting { using System; using System.Runtime.InteropServices; using System.Runtime.Remoting; /* * !! USAGE NOTE !! * This interface is not exposed publicly because it is expected that Helios developers will consume the * no-PIA interfaces that will be released OOB. This interface only exists so that ASP.NET can interface * with the Helios layer if necessary. These interfaces are subject to change. */ /// /// Defines the mechanism via which IIS will interact with the application. /// [ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("692D0723-C338-4D09-9057-C71F0F47DA87")] internal interface ICustomRuntime { /// /// Called at some point between GL_APPLICATION_START and /// GL_RESOLVE_MODULES and signals managed application start. /// /// Do not use this parameter. /// Do not use this parameter. void Start( [In] IntPtr reserved0, [In] int reserved1); /// /// Called during GL_RESOLVE_MODULES to give managed runtime a /// chance to register CHttpModule instances with the IIS pipeline. /// /// Additional data that may be useful to the custom runtime for integrating with the IIS pipeline. /// This pointer is only valid within the call to ResolveModules. /// The size (in bytes) of the structure pointed to by pResolveModuleData. void ResolveModules( [In] IntPtr pResolveModuleData, [In] int resolveModuleDataSize); /// /// Called during GL_APPLICATION_STOP and signals managed /// application end. /// /// Do not use this parameter. /// Do not use this parameter. /// /// It is acceptable for this method to unload the current AppDomain /// and return COR_E_APPDOMAINUNLOADED. /// void Stop( [In] IntPtr reserved0, [In] int reserved1); } }