using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.Lmx; [ComImport] [Guid("848299B6-DD61-4A0D-A304-3947A564B89C")] [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)] [TypeLibType(TypeLibTypeFlags.FDispatchable)] public interface _ILMXProxyServerEvents { [MethodImpl(MethodImplOptions.PreserveSig | MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [DispId(1)] void OnDataChange([In] int hLMXServerHandle, [In] int phItemHandle, [In][MarshalAs(UnmanagedType.Struct)] object pvItemValue, [In] int pwItemQuality, [In][MarshalAs(UnmanagedType.Struct)] object pftItemTimeStamp, [In][MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] ref MXSTATUS_PROXY[] pVars); [MethodImpl(MethodImplOptions.PreserveSig | MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [DispId(2)] void OnWriteComplete([In] int hLMXServerHandle, [In] int phItemHandle, [In][MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] ref MXSTATUS_PROXY[] pVars); [MethodImpl(MethodImplOptions.PreserveSig | MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [DispId(3)] void OperationComplete([In] int hLMXServerHandle, [In] int phItemHandle, [In][MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] ref MXSTATUS_PROXY[] pVars); }