using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.Lmx; [ComImport] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [Guid("22595C0B-28B9-11D3-87E0-00A0C982C01C")] public interface IBootstrapController { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void StartPlatform([In] int platformId, [In][MarshalAs(UnmanagedType.LPWStr)] string szStartupOptions); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void ShutDownPlatform([In] int platformId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetPlatformStatus([In] int platformId, out tagPlatformStatus pPlatformStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SetLocalPlatformEngineStatus([In] int lPlatformEngineStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void InformOtherPlatformStatus([In] int platformId, [In] tagPlatformStatus platformStatus, [In] int lPlatformEngineStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SetPlatformStartupState([In] int platformId, [In] tagPlatformStartupSetting flag); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetPlatformIdentity([In] int platformId, out tagPlatformRegistrationInformation pPlatformIdentity); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SubscribePlatformStatusService([In][MarshalAs(UnmanagedType.Interface)] IPlatformStatusCallback pIPlatformStatusCallback, out int plToken); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SubscribeProcessStatusService([In][MarshalAs(UnmanagedType.Interface)] IProcessStatusCallback pIProcessStatusCallback, out int plToken); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SubscribeBootstrapStatusService([In][MarshalAs(UnmanagedType.Interface)] IBootstrapStatusCallback pIBootstrapStatusCallback, out int plToken); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UnSubscribePlatformStatusService([In] int lToken); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UnSubscribeProcessStatusService([In] int lToken); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UnSubscribeBootstrapStatusService([In] int lToken); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void ShutDownPlatformSynchronous([In] int platformId); }