using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.NmxAdptr; [ComImport] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [Guid("95EBDC41-C2F7-48AA-B0A0-B3577E165905")] public interface IMxSystemConnection3 : IMxSystemConnection2 { [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)] new void SystemSetResponse([In] int callbackId, [In] ref MxStatus pMxStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void SystemSetAttribute2([In] int hRef, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValueIn, [In][MarshalAs(UnmanagedType.Interface)] IMxCallback pMxCallback, [In] byte msgPriority); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] MxValue SystemGetAttribute3([In] int hRef, out short pMxDataQuality, out _FILETIME pMxTime, out MxStatus pMxStatus, [MarshalAs(UnmanagedType.BStr)] out string pStatusDescription); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SystemSetAttribute3([In] int hRef, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValueIn, [In] short Quality, [In] _FILETIME Timestamp, [In][MarshalAs(UnmanagedType.Interface)] IMxCallback pMxCallback, [In] byte msgPriority = 0); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] MxValue SystemGetAttributeBlocking3([In] int hRef, out short pMxDataQuality, out _FILETIME pMxTime, out MxStatus pMxStatus, [MarshalAs(UnmanagedType.BStr)] out string pStatusDescription); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SystemSetAttributeGuaranteed3([In] int hRef, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValue, [In] short Quality, [In] _FILETIME Timestamp); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] MxValue SystemSetAttributeBlocking3([In] int hRef, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValueIn, [In] short QualityIn, [In] _FILETIME TimestampIn, out MxStatus pMxStatus, [MarshalAs(UnmanagedType.BStr)] out string pStatusDescription, out short pMxDataQualityOut, out _FILETIME pMxTimeOut); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SystemGetAttributesSupportedProperties([In] int hRef, out int SupportedProperties, out MxStatus pMxStatus); }