using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.NmxAdptr; [ComImport] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [Guid("2630A513-A974-4B1A-8025-457A9A7C56B8")] public interface INmxService2 : INmxService { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void RegisterEngine([In] int lEngineID, [In][MarshalAs(UnmanagedType.BStr)] string bstrEngineName, [In][MarshalAs(UnmanagedType.Interface)] INmxSvcCallback pNmxCallback); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void UnRegisterEngine([In] int lEngineID); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void Connect([In] int lLocalEngineID, [In] int lRemoteGalaxyID, [In] int lRemotePlatformID, [In] int lRemoteEngineID); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void TransferData([In] int lRemoteGalaxyID, [In] int lRemotePlatformID, [In] int lRemoteEngineID, [In] int lSize, [In] ref byte pMsgBody); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void AddSubscriberEngine([In] int lLocalEngineID, [In] int lSubscriberGalaxyID, [In] int lSubscriberPlatformID, [In] int lSubscriberEngineID); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void RemoveSubscriberEngine([In] int lLocalEngineID, [In] int lSubscriberGalaxyID, [In] int lSubscriberPlatformID, [In] int lSubscriberEngineID); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void SetHeartbeatSendInterval([In] int lTicksPerBeat, [In] int lMaxMissedTicks); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void RegisterEngine2([In] int lEngineID, [In][MarshalAs(UnmanagedType.BStr)] string bstrEngineName, [In] int lVersion, [In][MarshalAs(UnmanagedType.Interface)] INmxSvcCallback pCallback); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetPartnerVersion([In] int lGalaxyID, [In] int lPlatformID, [In] int lEngineID, out int plVersion); }