| File: Interop\IClrRuntimeInfo.cs | Web Access |
| Project: src\roslyn\src\Compilers\Core\Portable\Microsoft.CodeAnalysis.csproj (Microsoft.CodeAnalysis) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. #nullable disable using System; using System.Runtime.InteropServices; using System.Security; using System.Text; #pragma warning disable CS0436 // Type conflicts with imported type: SuppressUnmanagedCodeSecurity namespace Microsoft.CodeAnalysis.Interop { [ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("BD39D1D2-BA2F-486A-89B0-B4B0CB466891"), SuppressUnmanagedCodeSecurity] internal interface IClrRuntimeInfo { [PreserveSig] int GetVersionString( [Out, MarshalAs(UnmanagedType.LPWStr, SizeParamIndex = 1)] StringBuilder buffer, [In, Out, MarshalAs(UnmanagedType.U4)] ref int bufferLength); [PreserveSig] int GetRuntimeDirectory( [Out, MarshalAs(UnmanagedType.LPWStr, SizeParamIndex = 1)] StringBuilder buffer, [In, Out, MarshalAs(UnmanagedType.U4)] ref int bufferLength); [return: MarshalAs(UnmanagedType.Bool)] bool IsLoaded( [In] IntPtr processHandle); [PreserveSig] int LoadErrorString( [In, MarshalAs(UnmanagedType.U4)] int resourceId, [Out, MarshalAs(UnmanagedType.LPWStr, SizeParamIndex = 2)] StringBuilder buffer, [In, Out, MarshalAs(UnmanagedType.U4)] ref int bufferLength); IntPtr LoadLibrary( [In, MarshalAs(UnmanagedType.LPWStr)] string dllName); IntPtr GetProcAddress( [In, MarshalAs(UnmanagedType.LPStr)] string procName); [return: MarshalAs(UnmanagedType.Interface)] object GetInterface( [In, MarshalAs(UnmanagedType.LPStruct)] Guid coClassId, [In, MarshalAs(UnmanagedType.LPStruct)] Guid interfaceId); [return: MarshalAs(UnmanagedType.Bool)] bool IsLoadable(); void SetDefaultStartupFlags( [In, MarshalAs(UnmanagedType.U4)] int startupFlags, [In, MarshalAs(UnmanagedType.LPStr)] string hostConfigFile); [PreserveSig] int GetDefaultStartupFlags( [Out, MarshalAs(UnmanagedType.U4)] out int startupFlags, [Out, MarshalAs(UnmanagedType.LPWStr, SizeParamIndex = 2)] StringBuilder hostConfigFile, [In, Out, MarshalAs(UnmanagedType.U4)] ref int hostConfigFileLength); void BindAsLegacyV2Runtime(); void IsStarted( [Out, MarshalAs(UnmanagedType.Bool)] out bool started, [Out, MarshalAs(UnmanagedType.U4)] out int startupFlags); } }