using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.Lmx; [ComImport] [ComConversionLoss] [Guid("88BD3A83-D90D-11D3-9378-00C04FA04C92")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IAutomationObjectCheckpoint { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void LogSystemSetAttributeCall([In] MxAttributeHandle AttributeHandle, [In][MarshalAs(UnmanagedType.Interface)] MxValue pValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] IPrimitiveCheckpoint CreatePrimitiveCheckpoint([In] int primitiveId, [In] int BlobSize, [In] ref byte Blob); [DispId(1)] int id { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] get; } [DispId(2)] string AutomationObjectName { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.BStr)] get; } [DispId(3)] VBGUID AutomationObjectCLSID { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] get; } [DispId(4)] int AutomationObjectSignature { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] get; } [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] IPrimitiveCheckpoint GetPrimitiveCheckpoint([In] int primitiveId); [DispId(5)] IEnumPrimitiveCheckpoint PrimitiveCheckpoints { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] get; } [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void CheckpointData([In] uint bufSize, [In] ref byte buff); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void zBadForDotNet_GetCheckpointData(out uint bufSize, [Out] IntPtr buf); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void ChangeIdentity(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_UI1)] byte[] GetCheckpointData(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SetCheckpointIdentity([In] Guid identityGuid); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetCheckpointIdentity(out int checkpointId, out Guid identityGuid); }