using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.NmxAdptr; [ComImport] [Guid("8D2EAA56-8512-486B-8FB0-22B3F518CFF7")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IMxScanOnDemand2 : IMxScanOnDemand { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void SuspendReference([In] int hRef, [In][MarshalAs(UnmanagedType.Interface)] IMxCallback2 pMxCallback2, out MxStatus pMxStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void ActivateReference([In] int hRef, [In][MarshalAs(UnmanagedType.Interface)] IMxCallback2 pMxCallback2, out MxStatus pMxStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new 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)] new void SupervisoryUnregisterSuspendedReference([In] int hRef); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void IncrementSODCounts([In] short objectId, [In] short primitiveId, [In] short attributeId, [In][MarshalAs(UnmanagedType.BStr)] string attributeString); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void DecrementSODCounts([In] short objectId, [In] short primitiveId, [In] short attributeId, [In][MarshalAs(UnmanagedType.BStr)] string attributeString); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new void GlobalScanOnDemandEnabled(out bool pGlobalSODEnabled); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] int SupervisoryRegisterSuspendedReference2([In][MarshalAs(UnmanagedType.Interface)] MxReference pMxReference, [In] bool IsIndirect, [In] bool IsReadable, [In][MarshalAs(UnmanagedType.LPWStr)] string setCallback, [In][MarshalAs(UnmanagedType.Interface)] IMxCallback pMxCallback); }