using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.Lmx; [ComImport] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [Guid("96469CD2-8EF4-11D2-BF61-00104B5F96A7")] public interface IAccessManagerProvider { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void RegisterAutomationObject([In][MarshalAs(UnmanagedType.Interface)] CoBaseRuntimeObject pAutomationObject, [In] int AutomationObjectId, [In][MarshalAs(UnmanagedType.LPWStr)] string AutomationObjectName, [In] int AutomationObjectSignature); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UnRegisterAutomationObject([In] int AutomationObjectId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void CancelAllSubscriptions(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void NotifySubscriptionChange([In] int index, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValue, [In] ref short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void InvalidateSubscription([In] int index); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void ObjectRestored([In][MarshalAs(UnmanagedType.Interface)] CoBaseRuntimeObject pAutomationObject, [In] int AutomationObjectId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UnregisterAutomationObjectNoUpdate([In] int AutomationObjectId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UpdateObjectsAttribute(); }