using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.Lmx; [ComImport] [Guid("F0411F6A-F8C5-49D3-8359-302DC4B9A9F8")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IMxUserConnection3 : IMxUserConnection2 { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new int UserRegisterReference([In][MarshalAs(UnmanagedType.Interface)] MxReference pMxReference, [In] bool IsIndirect, [In] bool IsReadable, [In][MarshalAs(UnmanagedType.Interface)] IMxCallback pMxCallback, [In] int userData); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void UserUnregisterReference([In] int hRef); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] new MxValue UserGetAttribute([In] int hRef, out short pMxDataQuality, out MxStatus pMxStatus, [MarshalAs(UnmanagedType.BStr)] out string pStatusDescription); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void UserSetAttribute([In] int hRef, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValue, [In] ref VBGUID userId, [In] ref VBGUID verifier, [In] bool userVerified, [In][MarshalAs(UnmanagedType.LPWStr)] string sourceName, [In][MarshalAs(UnmanagedType.Interface)] IMxCallback pMxCallback); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.BStr)] new string UserGetQualityDescription([In] ref short mxDataQuality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new int UserRegisterPreboundReference([In] int preboundReferenceHandle, [In][MarshalAs(UnmanagedType.Interface)] IMxCallback pMxCallback, [In] int userData); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void UserSetResponse([In] int CallbackID, [In] ref MxStatus pMxStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void UserSetArrayAttributeByIndex([In] int hRef, [In] short arrayIndex, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValue, [In] ref VBGUID userId, [In] ref VBGUID verifier, [In] bool userVerified, [In][MarshalAs(UnmanagedType.LPWStr)] string sourceName, [In][MarshalAs(UnmanagedType.Interface)] IMxCallback pMxCallback); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] new MxValue UserGetArrayAttributeByIndex([In] int hRef, [In] short arrayIndex, out short pMxDataQuality, out MxStatus pMxStatus, [MarshalAs(UnmanagedType.BStr)] out string pStatusDescription); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UserGetInteger([In] int hRef, out short DataQuality, out MxStatus MxStatus, out int plValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UserGetBoolean([In] int hRef, out short DataQuality, out MxStatus MxStatus, out bool pbValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UserGetFloat([In] int hRef, out short DataQuality, out MxStatus MxStatus, out float pfValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UserGetDouble([In] int hRef, out short DataQuality, out MxStatus MxStatus, out double pdValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UserGetQualifiedEnum([In] int hRef, out short DataQuality, out MxStatus MxStatus, out short ordinal); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UserGetString([In] int hRef, out short DataQuality, out MxStatus MxStatus, [MarshalAs(UnmanagedType.BStr)] out string pbstrValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UserGetBigString([In] int hRef, out short DataQuality, out MxStatus MxStatus, [MarshalAs(UnmanagedType.BStr)] out string pbstrValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UserGetInternationalizedString([In] int hRef, out short DataQuality, out MxStatus MxStatus, [MarshalAs(UnmanagedType.BStr)] out string pbstrValue); }