using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.NmxAdptr; [ComImport] [Guid("148C8733-3930-11D3-87EA-00A0C982C01C")] [ComConversionLoss] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IPlatformInformationClerk { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetPlatformIdentity([In] int platformId, out tagPlatformRegistrationInformation pPlatformIdentity); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetPlatformIdentityFromPlatformName([In][MarshalAs(UnmanagedType.LPWStr)] string pPlatformName, out tagPlatformRegistrationInformation pPlatformIdentity); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SetPlatformIdentity([In] int platformId, [In] ref tagPlatformRegistrationInformation pPlatformIdentity); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetOwnPlatformId(out int platformId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetPlatformServicesNames([In] int maxIn, out int serviceCount, [MarshalAs(UnmanagedType.BStr)] out string names, [MarshalAs(UnmanagedType.BStr)] out string options); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SetPlatformServicesNames([In][MarshalAs(UnmanagedType.BStr)] string names, [In][MarshalAs(UnmanagedType.BStr)] string options); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void AppendPlatformServicesNames([In][MarshalAs(UnmanagedType.BStr)] string names, [In][MarshalAs(UnmanagedType.BStr)] string options); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetPlatformEngineName([MarshalAs(UnmanagedType.BStr)] out string pVendorName, [MarshalAs(UnmanagedType.BStr)] out string pFileName, [MarshalAs(UnmanagedType.BStr)] out string pStartupOptions, [MarshalAs(UnmanagedType.BStr)] out string pConfigOptions); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SetPlatformEngineName([In][MarshalAs(UnmanagedType.LPWStr)] string pVendorName, [In][MarshalAs(UnmanagedType.LPWStr)] string pFileName, [In][MarshalAs(UnmanagedType.LPWStr)] string pStartupOptions, [In][MarshalAs(UnmanagedType.LPWStr)] string pConfigOptions); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void CreateFilePath([In][MarshalAs(UnmanagedType.LPWStr)] string pVendorName, [In][MarshalAs(UnmanagedType.LPWStr)] string pFileName, [MarshalAs(UnmanagedType.BStr)] out string pbstrFilePath); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UnregisterClusterInformation(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void RegisterClusterInformation([In] tagClusterRegistrationInformation clusterRegInfo); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetClusterInformation(out tagClusterRegistrationInformation pClusterInformation); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void ResetPlatformList(out int numPlatforms); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetNextPlatform(out int pId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetPlatformList(out int plTotalPlatforms, [Out] IntPtr ppPlatformList); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void DeletePlatformIdentity([In] int platformId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetStartupState(out tagPlatformStartupSetting pStartupState); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SetStartupState([In] tagPlatformStartupSetting startupState); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetPlatformRegister(out int pPlatformId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SetPlatformRegister([In] int platformId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void DeletePlatformInfo(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void DeleteObjectRuntimeInfo(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void DeletePlatformList(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SetCmdStartOptions([In][MarshalAs(UnmanagedType.LPWStr)] string szCmdOption); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetCmdStartOptions([MarshalAs(UnmanagedType.BStr)] out string pszCmdOption); }