using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.NmxAdptr; [ComImport] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [Guid("63512694-27F3-4210-AD3B-2A68EAA6DF4E")] public interface IBootstrapController5 : IBootstrapController4 { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void StartPlatform([In] int platformId, [In][MarshalAs(UnmanagedType.LPWStr)] string szStartupOptions); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void ShutDownPlatform([In] int platformId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void GetPlatformStatus([In] int platformId, out tagPlatformStatus pPlatformStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void SetLocalPlatformEngineStatus([In] int lPlatformEngineStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void InformOtherPlatformStatus([In] int platformId, [In] tagPlatformStatus platformStatus, [In] int lPlatformEngineStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void SetPlatformStartupState([In] int platformId, [In] tagPlatformStartupSetting flag); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void GetPlatformIdentity([In] int platformId, out tagPlatformRegistrationInformation pPlatformIdentity); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void SubscribePlatformStatusService([In][MarshalAs(UnmanagedType.Interface)] IPlatformStatusCallback pIPlatformStatusCallback, out int plToken); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void SubscribeProcessStatusService([In][MarshalAs(UnmanagedType.Interface)] IProcessStatusCallback pIProcessStatusCallback, out int plToken); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void SubscribeBootstrapStatusService([In][MarshalAs(UnmanagedType.Interface)] IBootstrapStatusCallback pIBootstrapStatusCallback, out int plToken); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void UnSubscribePlatformStatusService([In] int lToken); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void UnSubscribeProcessStatusService([In] int lToken); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void UnSubscribeBootstrapStatusService([In] int lToken); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void ShutDownPlatformSynchronous([In] int platformId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void GetPlatformMappingTableTimeStamp(out _FILETIME pmtTimeStamp); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void SubscribeBootstrapStatusService2([In] Guid bootstrapInstance, [In] int platformId, [In][MarshalAs(UnmanagedType.Interface)] IBootstrapStatusCallback pIBootstrapStatusCallback, out int plToken); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void SwitchoverPlatform([In] int lDestinationPlatform, [In] int lStagedEngineId, [In] bool bRestartHostedEngines); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void GetRestartHostedEnginesStatus([In] int lLocalPlatformId, out bool bRestartHostedEngines); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void RemoveLocalPlatform(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SetSecurityForStoreFwdDirectory(); }