using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.NmxAdptr; [ComImport] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [Guid("232A5C28-A9A9-48F7-A256-94018F6F8F49")] public interface IMxUserConnection4 : IMxUserConnection3 { [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)] new void UserGetInteger([In] int hRef, out short DataQuality, out MxStatus MxStatus, out int plValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void UserGetBoolean([In] int hRef, out short DataQuality, out MxStatus MxStatus, out bool pbValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void UserGetFloat([In] int hRef, out short DataQuality, out MxStatus MxStatus, out float pfValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void UserGetDouble([In] int hRef, out short DataQuality, out MxStatus MxStatus, out double pdValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void UserGetQualifiedEnum([In] int hRef, out short DataQuality, out MxStatus MxStatus, out short ordinal); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void UserGetString([In] int hRef, out short DataQuality, out MxStatus MxStatus, [MarshalAs(UnmanagedType.BStr)] out string pbstrValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void UserGetBigString([In] int hRef, out short DataQuality, out MxStatus MxStatus, [MarshalAs(UnmanagedType.BStr)] out string pbstrValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void UserGetInternationalizedString([In] int hRef, out short DataQuality, out MxStatus MxStatus, [MarshalAs(UnmanagedType.BStr)] out string pbstrValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] MxValue UserGetAttribute4([In] int hRef, out short pMxDataQuality, out _FILETIME pMxTime, out MxStatus pMxStatus, [MarshalAs(UnmanagedType.BStr)] out string pStatusDescription); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] MxValue UserGetArrayAttributeByIndex4([In] int hRef, [In] short arrayIndex, out short pMxDataQuality, out _FILETIME pMxTime, out MxStatus pMxStatus, [MarshalAs(UnmanagedType.BStr)] out string pStatusDescription); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UserSetAttribute4([In] int hRef, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValue, [In] short Quality, [In] _FILETIME Timestamp, [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)] void UserSetArrayAttributeByIndex4([In] int hRef, [In] short arrayIndex, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValue, [In] short Quality, [In] _FILETIME Timestamp, [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)] void UserGetAttributesSupportedProperties([In] int hRef, out int SupportedProperties, out MxStatus pMxStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UserGetInteger4([In] int hRef, out short DataQuality, out _FILETIME pMxTime, out MxStatus MxStatus, out int plValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UserGetBoolean4([In] int hRef, out short DataQuality, out _FILETIME pMxTime, out MxStatus MxStatus, out bool pbValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UserGetFloat4([In] int hRef, out short DataQuality, out _FILETIME pMxTime, out MxStatus MxStatus, out float pfValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UserGetDouble4([In] int hRef, out short DataQuality, out _FILETIME pMxTime, out MxStatus MxStatus, out double pdValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UserGetQualifiedEnum4([In] int hRef, out short DataQuality, out _FILETIME pMxTime, out MxStatus MxStatus, out short ordinal); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UserGetString4([In] int hRef, out short DataQuality, out _FILETIME pMxTime, out MxStatus MxStatus, [MarshalAs(UnmanagedType.BStr)] out string pbstrValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UserGetBigString4([In] int hRef, out short DataQuality, out _FILETIME pMxTime, out MxStatus MxStatus, [MarshalAs(UnmanagedType.BStr)] out string pbstrValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UserGetInternationalizedString4([In] int hRef, out short DataQuality, out _FILETIME pMxTime, out MxStatus MxStatus, [MarshalAs(UnmanagedType.BStr)] out string pbstrValue); }