using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.NmxAdptr; [ComImport] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [ComConversionLoss] [Guid("22595C0D-28B9-11D3-87E0-00A0C982C01C")] public interface IBootstrapRegister { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void RegisterClusterInformation([In] tagRegistrationSource regSource, [In] int lPlatformID, [In] tagClusterRegistrationInformation clusterInformation); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UnregisterClusterInformation([In] tagRegistrationSource regSource, [In] int platformId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetClusterInformation([In] int platformId, out tagClusterRegistrationInformation pClusterInformation); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void RegisterPlatform([In][MarshalAs(UnmanagedType.LPWStr)] string szGalaxyName, [In] tagRegistrationSource regSource, [In] tagPlatformRegistrationInformation platformRegInfo); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UnregisterPlatform([In] tagRegistrationSource regSource, [In] int platformId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetPlatformList(out int plTotalPlatforms, [Out] IntPtr ppPlatformList); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void RegisterPlatformEngine([In] int platformId, [In][MarshalAs(UnmanagedType.LPWStr)] string szVendor, [In][MarshalAs(UnmanagedType.LPWStr)] string szEngineName, [In][MarshalAs(UnmanagedType.LPWStr)] string szStartupOptions, [In][MarshalAs(UnmanagedType.LPWStr)] string szConfigOptions); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SetPlatformCmdStartOptions([In][MarshalAs(UnmanagedType.LPWStr)] string szCmdOption); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetPlatformCmdStartOptions([MarshalAs(UnmanagedType.BStr)] out string pszCmdOption); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetRemotePlatformList([In][MarshalAs(UnmanagedType.LPWStr)] string szNodeName, out int plTotalPlatforms, [Out] IntPtr ppPlatformList); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void RegisterFolderOrFile([In][MarshalAs(UnmanagedType.LPWStr)] string szFolderOrFilePath, [In] bool bRemoveOnUninstall); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SetPlatformStatus([In] int platformId, [In] tagPlatformStatus status, [In] int engineStatus); }