public CCorRuntimeHost(System.Deployment.Application.NativeMethods.IClrRuntimeInfo RuntimeInfo) { StringBuilder buffer = new StringBuilder(260); int capacity = buffer.Capacity; RuntimeInfo.GetVersionString(buffer, ref capacity); this.ClrRuntimeInfoVersion = buffer.ToString(); Logger.AddMethodCall("CCorRuntimeHost.ctor called with IClrRuntimeInfo version " + this.ClrRuntimeInfoVersion, DateTime.Now); this.RuntimeHostInstance = (System.Deployment.Application.NativeMethods.ICorRuntimeHost)RuntimeInfo.GetInterface(System.Deployment.Application.NativeMethods._corRuntimeHostClsIdGuid, System.Deployment.Application.NativeMethods._corRuntimeHostInterfaceIdGuid); }
public void Dispose() { this.fDelegatesBound = false; this.InvokeMemberFnPtr = null; if (IntPtr.Zero != this.DomainTypePtr) { Marshal.Release(this.DomainTypePtr); this.DomainTypePtr = IntPtr.Zero; } this.GetTypeFnPtr = null; if (IntPtr.Zero != this.DomainObjectPtr) { Marshal.Release(this.DomainObjectPtr); this.DomainObjectPtr = IntPtr.Zero; } this.CurrentDomainFnPtr = null; if (IntPtr.Zero != this.RuntimeHostPtr) { Marshal.Release(this.RuntimeHostPtr); this.RuntimeHostPtr = IntPtr.Zero; } this.RuntimeHostInstance = null; }