using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.LmxProxy; [ComImport] [Guid("8A4B2077-6E4F-4135-915A-DD952F95EF25")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IMxScanOnDemand { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SuspendReference([In] int hRef, [In][MarshalAs(UnmanagedType.Interface)] IMxCallback2 pMxCallback2, out MxStatus pMxStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void ActivateReference([In] int hRef, [In][MarshalAs(UnmanagedType.Interface)] IMxCallback2 pMxCallback2, out MxStatus pMxStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] int SupervisoryRegisterSuspendedReference([In][MarshalAs(UnmanagedType.Interface)] MxReference pMxReference, [In] bool IsIndirect, [In] bool IsReadable, [In][MarshalAs(UnmanagedType.LPWStr)] string setCallback); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SupervisoryUnregisterSuspendedReference([In] int hRef); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void IncrementSODCounts([In] short objectId, [In] short primitiveId, [In] short attributeId, [In][MarshalAs(UnmanagedType.BStr)] string attributeString); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void DecrementSODCounts([In] short objectId, [In] short primitiveId, [In] short attributeId, [In][MarshalAs(UnmanagedType.BStr)] string attributeString); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GlobalScanOnDemandEnabled(out bool pGlobalSODEnabled); }