using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.NmxAdptr; [ComImport] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [Guid("649EF01C-1384-4979-AF39-83A284E8BAFC")] public interface IMxSystemConnection2 : IMxSystemConnection { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new int SystemRegisterReference([In][MarshalAs(UnmanagedType.Interface)] MxReference pMxReference, [In] bool subscribe); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void SystemUnregisterReference([In] int hRef); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] new MxValue SystemGetAttribute([In] int hRef, out short pMxDataQuality, out MxStatus pMxStatus, [MarshalAs(UnmanagedType.BStr)] out string pStatusDescription); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] new MxValue SystemGetAttributeBlocking([In] int hRef, out short pMxDataQuality, out MxStatus pMxStatus, [MarshalAs(UnmanagedType.BStr)] out string pStatusDescription); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void SystemSetAttribute([In] int hRef, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValueIn, [In][MarshalAs(UnmanagedType.Interface)] IMxCallback pMxCallback); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void SystemSetAttributeGuaranteed([In] int hRef, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] new MxValue SystemSetAttributeBlocking([In] int hRef, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValueIn, out MxStatus pMxStatus, [MarshalAs(UnmanagedType.BStr)] out string pStatusDescription); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.BStr)] new string SystemGetQualityDescription([In] ref short mxDataQuality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SystemSetResponse([In] int callbackId, [In] ref MxStatus pMxStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SystemSetAttribute2([In] int hRef, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValueIn, [In][MarshalAs(UnmanagedType.Interface)] IMxCallback pMxCallback, [In] byte msgPriority); }