using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.Lmx; [ComImport] [ClassInterface(ClassInterfaceType.None)] [TypeLibType(TypeLibTypeFlags.FCanCreate)] [ComConversionLoss] [Guid("73BC4121-FF89-4762-901C-206E2BD9FE87")] public class DataClientClass : IDataClient, DataClient { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void Initialize([In][MarshalAs(UnmanagedType.BStr)] string bstrNamespace); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.BStr)] public virtual extern string GetLastError(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void ResetHeap(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern IntPtr Connect([In][MarshalAs(UnmanagedType.BStr)] string endPointUri, [In] ulong timeout, [In] ref _IUserToken userToken, out uint clientId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] public virtual extern IArchestrAResult[] Connect2([In][MarshalAs(UnmanagedType.BStr)] string endPointUri, [In] ulong timeout, [In] ref _IUserToken userToken, out uint clientId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern IntPtr DisConnect(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] public virtual extern IArchestrAResult[] Disconnect2(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern int IsIDataClientConnected(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern IntPtr CreateSubscription([In] long MaxQueueSize, [In] ulong SampleInterval, [In] int ActiveState, out long SubscriptionId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] public virtual extern IArchestrAResult[] CreateSubscription2([In] long MaxQueueSize, [In] ulong SampleInterval, [In] int ActiveState, out long SubscriptionId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern IntPtr ChangeSubscription([In] long SubscriptionId, [In] int ActiveState); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] public virtual extern IArchestrAResult[] ChangeSubscription2([In] long SubscriptionId, [In] int ActiveState); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern IntPtr DeleteSubscription([In] long SubscriptionId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] public virtual extern IArchestrAResult[] DeleteSubscription2([In] long SubscriptionId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern IntPtr AddMonitoredItems([In] long SubscriptionId, [In] ref _IMonitoredItem MonItems, [In] uint ItemsCount, [Out] IntPtr pResultCode, out uint ResultCount); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] public virtual extern IArchestrAResult[] AddMonitoredItems2([In] long SubscriptionId, [In][MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] IMonitoredItem2[] MonItems, [In] uint ItemsCount, [MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] out ASBResultCode[] pResultCode, out uint ResultCount); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern IntPtr ChangeMonitoredItems([In] long SubscriptionId, [In] ref _IMonitoredItem MonItems, [In] uint ItemsCount, [Out] IntPtr pResultCode, out uint ResultCount); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] public virtual extern IArchestrAResult[] ChangeMonitoredItems2([In] long SubscriptionId, [In][MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] IMonitoredItem2[] MonItems, [In] uint ItemsCount, [MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] out ASBResultCode[] pResultCode, out uint ResultCount); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern IntPtr DeleteMonitoredItems([In] long SubscriptionId, [In] ref ulong ItemIds, [In] uint ItemsCount, [Out] IntPtr pResultCode, out uint ResultCount); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] public virtual extern IArchestrAResult[] DeleteMonitoredItems2([In] long SubscriptionId, [In][MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_UI8)] ulong[] ItemIds, [In] uint ItemsCount, [MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] out ASBResultCode[] pResultCode, out uint ResultCount); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern IntPtr RegisterItems([In] ref _IItemIdentity IdItems, [In] uint ItemsCount, [Out] IntPtr pResultCode, out uint ResultCount); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] public virtual extern IArchestrAResult[] RegisterItems2([In][MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] IItemIdentity2[] IdItems, [In] uint ItemsCount, [MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] out ASBResultCode[] pResultCode, out uint ResultCount); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern IntPtr UnregisterItems([In] ref ulong varItems, [In] uint ItemsCount, [Out] IntPtr pResultCode, out uint ResultCount); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] public virtual extern IArchestrAResult[] UnregisterItems2([In][MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_UI8)] ulong[] varItems, [In] uint ItemsCount, [MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] out ASBResultCode[] pResultCode, out uint ResultCount); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern IntPtr Write([In] ref _WriteRequest pWriteRequests, [In] uint RequestsCount, [In] uint WriteHandle, [In] ref _IUserToken User, [In] ref _IUserToken userToken, [Out] IntPtr pResultCode, out uint ResultCount); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] public virtual extern IArchestrAResult[] Write2([In][MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] WriteRequest2[] pWriteRequests, [In] uint RequestsCount, [In] uint WriteHandle, [In] ref _IUserToken User, [In] ref _IUserToken userToken, [MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] out ASBResultCode[] pResultCode, out uint ResultCount); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern IntPtr Publish([In] long SubscriptionId, [Out] IntPtr pDataUpdates, out uint UpdatesCount); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] public virtual extern IArchestrAResult[] Publish2([In] long SubscriptionId, [MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] out DataChangeUpdate[] pDataUpdates, out uint ResultCount); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern IntPtr PublishWriteComplete([Out] IntPtr pResultCode, out uint ResultCount); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] public virtual extern IArchestrAResult[] PublishWriteComplete2([MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] out ASBResultCode[] pResultCode, out uint ResultCount); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern IntPtr Read([In] ref _IItemIdentity IdItems, [In] uint ItemsCount, [Out] IntPtr pDataUpdates, out uint UpdatesCount); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] public virtual extern IArchestrAResult[] Read2([In][MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] IItemIdentity2[] IdItems, [In] uint ItemsCount, [MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_RECORD)] out DataChangeUpdate[] pDataUpdates, out uint UpdatesCount); }