using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.Lmx; [ComImport] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [Guid("E0AF1A65-F984-475A-9C1A-680F21DEFD82")] public interface IInternalAccessManagerHost { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void Initialize([In] int platformId, [In] int engineId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetEngineId(out int engineId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetEngineName([MarshalAs(UnmanagedType.BStr)] out string engineName); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void ExecuteAutomationObject([In] int AutomationObjectId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] CoBaseRuntimeObject GetAutomationObject([In] int AutomationObjectId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetQueueInfo(out int numberMessagesQueued, out int queueSizeInBytes); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SetQueueExtent([In] int dwNewExtent, [In] short QueueType); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void CreateGuaranteedQueue([In] int maxExtent); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void DeleteGuaranteedQueue([In] int engineId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetMxStatusDescription([In] MxStatus status, [MarshalAs(UnmanagedType.BStr)] out string description); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void RetrieveObjectInfo([In][MarshalAs(UnmanagedType.Interface)] MxValue parameters, [In][MarshalAs(UnmanagedType.Interface)] MxValue result); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetFoldingCnt(out int count); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void NotifyObjectQuarantined([In] int ObjectID); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetQuarantinedObjectCnt(out int count); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetProtocolInfo([MarshalAs(UnmanagedType.BStr)] out string lmxversion, [MarshalAs(UnmanagedType.BStr)] out string nmxversion); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetPlatformId(out int platformId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetAutomationObjectIdByName([In][MarshalAs(UnmanagedType.LPWStr)] string objectName, out int ObjectID); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SetMessageTimeout([In] int TimeoutValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void DisableFolding([In] ushort ObjectID, [In] ref MxAttributeHandle attribute); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SubscribedAttributeChanged([In] int ObjectID); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetPublishPacketCnts(out int PublishPacketsSentCount, out int PublishPacketsReceivedCount); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetNmxSvcStatistics(out tagNmxSvcStatsInfo pNmxSvcStats); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void ResetSvcStatistics(); }