using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.NmxAdptr; [ComImport] [Guid("621B4552-9CDC-440E-BDDC-894536122643")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IMxSupervisoryConnection3 : IMxSupervisoryConnection { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new int SupervisoryRegisterReference([In][MarshalAs(UnmanagedType.Interface)] MxReference pMxReference, [In] bool IsIndirect, [In] bool IsReadable, [In][MarshalAs(UnmanagedType.LPWStr)] string setCallback); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void SupervisoryUnregisterReference([In] int hRef); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] new MxValue SupervisoryGetAttribute([In] int hRef, out short pMxDataQuality, out MxStatus pMxStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void SupervisorySetAttribute([In] int hRef, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValue, out MxStatus pMxStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void SetResponse([In] int callbackId, [In] ref MxStatus pMxStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] MxValue SupervisoryGetAttribute3([In] int hRef, out short pMxDataQuality, out _FILETIME pMxTime, out MxStatus pMxStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SupervisorySetAttribute3([In] int hRef, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValue, [In] short Quality, [In] _FILETIME Timestamp, out MxStatus pMxStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SupervisoryGetAttributesSupportedProperties([In] int hRef, out int SupportedProperties, out MxStatus pMxStatus); }