using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.Lmx; [ComImport] [Guid("D3A386B0-59F8-422E-A8E8-B155A118A83B")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface ICheckpointer { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void Shutdown(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void DeleteCheckpointFile(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void DeleteCheckpoint([In] int AutomationObjectId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] IAutomationObjectCheckpoint CreateAutomationObjectCheckpoint([In] int ObjectID, [In][MarshalAs(UnmanagedType.LPWStr)] string AutomationObjectName, [In] VBGUID CLSIDOfBFO, [In] int AutomationObjectSignature); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] IAutomationObjectCheckpoint GetAutomationObjectCheckpoint([In] int ObjectID); [DispId(2)] IEnumHostedAutomationObjectCheckpoint HostedAutomationObjectCheckpoints { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] get; } [DispId(3)] CheckpointerStatus status { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] get; } [DispId(5)] CheckpointOperationResult OperationStatus { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] get; } [DispId(4)] VBFILETIME checkpointFiletime { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] get; } [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void RegisterAutomationObject([In] int AutomationObjectId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void UnRegisterAutomationObject([In] int AutomationObjectId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void CheckpointProperty([In] MxAttributeHandle MxAttributeHandle, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] IAutomationObjectCheckpoint GetRuntimeCheckpoint([In] int ObjectID); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PersistDeployedCheckpoints(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetPrimitiveStateChange([In] short primitiveId, [MarshalAs(UnmanagedType.Interface)] out IStream stream); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void DeleteCheckpoints([In] int cnt, [In] ref int objectIds); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SaveCheckpointsToStream([In] int category, [In] int cnt, [In] ref int checkpoints, [MarshalAs(UnmanagedType.Interface)] IStream stream); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void CreateCheckpointsFromStream([In] int cnt, [In][Out][ComAliasName("Interop.Lmx.LoadCheckpointResult")] ref LoadCheckpointResult staticCheckpoints, [In] Guid guid, [In][MarshalAs(UnmanagedType.Interface)] IStream stream); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void DeleteRuntimeCheckpoint([In] int AutomationObjectId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void CreateRuntimeCheckpoint([In] int AutomationObjectId); [DispId(6)] bool DeploymentInProgress { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] get; [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [param: In] set; } }