using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.Lmx; [ComImport] [ComConversionLoss] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [Guid("7F9D858B-CEC0-40DE-9B85-79868E95621F")] public interface IPrimitiveRuntimeSite2 { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetAttributeValues(out int count, [Out] IntPtr values); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetAttributeValuesById([In] short primitiveId, out int count, [Out] IntPtr values); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void NotifySubscriptionChange([In] ref PrimitiveAttributeTableEntry tableEntry, [In] short primitiveId, [In] short attributeId, [In] short propertyId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void NotifyCheckpointChange([In] ref PrimitiveAttributeTableEntry tableEntry, [In] short primitiveId, [In] short attributeId, [In] short propertyId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetPrimitiveAttributeSite([In] short primitiveId, [MarshalAs(UnmanagedType.Interface)] out IPrimitiveRuntimeSite2 ppSite); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void CheckpointAttribute([In] short attributeId, [In] bool checkpoint); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetType([In] short attributeId, out MxDataType value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetLockStatus([In] short attributeId, out MxPropertyLockedEnum pLockStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] int GetNumElements([In] short attributeId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SetNumElements([In] short attributeId, [In] int numelements); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] bool GetBoolean([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutBoolean([In] short id, [In] bool value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] bool GetBooleanVQ([In] short id, out short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutBooleanVQ([In] short id, [In] short quality, [In] bool value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] bool GetBooleanArrayItem([In] short id, [In] int index); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutBooleanArrayItem([In] short id, [In] int index, [In] bool value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutBooleanArrayQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutBooleanQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetBooleanQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetBooleanArrayQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] int GetInteger([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutInteger([In] short id, [In] int value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] int GetIntegerVQ([In] short id, out short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutIntegerVQ([In] short id, [In] short quality, [In] int value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] int GetIntegerArrayItem([In] short id, [In] int index); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutIntegerArrayItem([In] short id, [In] int index, [In] int value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutIntegerArrayQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutIntegerQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetIntegerQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetIntegerArrayQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] float GetFloat([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutFloat([In] short id, [In] float value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] float GetFloatVQ([In] short id, out short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutFloatVQ([In] short id, [In] short quality, [In] float value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] float GetFloatArrayItem([In] short id, [In] int index); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutFloatArrayItem([In] short id, [In] int index, [In] float value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutFloatArrayQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutFloatQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetFloatQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetFloatArrayQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] double GetDouble([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutDouble([In] short id, [In] double value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] double GetDoubleVQ([In] short id, out short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutDoubleVQ([In] short id, [In] short quality, [In] double value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] double GetDoubleArrayItem([In] short id, [In] int index); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutDoubleArrayItem([In] short id, [In] int index, [In] double value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutDoubleArrayQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutDoubleQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetDoubleQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetDoubleArrayQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] VB_LARGE_INTEGER GetElapsedTime([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutElapsedTime([In] short id, [In] ref VB_LARGE_INTEGER value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] VB_LARGE_INTEGER GetElapsedTimeVQ([In] short id, out short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutElapsedTimeVQ([In] short id, [In] short quality, [In] ref VB_LARGE_INTEGER value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] VB_LARGE_INTEGER GetElapsedTimeArrayItem([In] short id, [In] int index); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutElapsedTimeArrayItem([In] short id, [In] int index, [In] ref VB_LARGE_INTEGER value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutElapsedTimeArrayQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutElapsedTimeQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetElapsedTimeQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetElapsedTimeArrayQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.BStr)] string GetString([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutString([In] short id, [In][MarshalAs(UnmanagedType.LPWStr)] string value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.BStr)] string GetStringVQ([In] short id, out short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutStringVQ([In] short id, [In] short quality, [In][MarshalAs(UnmanagedType.LPWStr)] string value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.BStr)] string GetStringArrayItem([In] short id, [In] int index); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutStringArrayItem([In] short id, [In] int index, [In][MarshalAs(UnmanagedType.LPWStr)] string value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutStringArrayQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutStringQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetStringQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetStringArrayQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetTime([In] short id, out VBFILETIME value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutTime([In] short id, [In] ref VBFILETIME value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetTimeVQ([In] short id, out short quality, out VBFILETIME value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutTimeVQ([In] short id, [In] short quality, [In] ref VBFILETIME value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetTimeArrayItem([In] short id, [In] int index, out VBFILETIME value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutTimeArrayItem([In] short id, [In] int index, [In] ref VBFILETIME value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutTimeArrayQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutTimeQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetTimeQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetTimeArrayQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetCustomEnum([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutCustomEnum([In] short id, [In] short value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetCustomEnumVQ([In] short id, out short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutCustomEnumVQ([In] short id, [In] short quality, [In] short value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetCustomEnumArrayItem([In] short id, [In] int index); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutCustomEnumArrayItem([In] short id, [In] int index, [In] short value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutCustomEnumArrayQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutCustomEnumQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetCustomEnumQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetCustomEnumArrayQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] MxReference GetReference([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutReference([In] short id, [In][MarshalAs(UnmanagedType.Interface)] MxReference value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] MxReference GetReferenceVQ([In] short id, out short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutReferenceVQ([In] short id, [In] short quality, [In][MarshalAs(UnmanagedType.Interface)] MxReference value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] MxReference GetReferenceArrayItem([In] short id, [In] int index); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutReferenceArrayItem([In] short id, [In] int index, [In][MarshalAs(UnmanagedType.Interface)] MxReference value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutReferenceArrayQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutReferenceQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetReferenceQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetReferenceArrayQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] MxStatus GetMxStatus([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutMxStatus([In] short id, [In] MxStatus value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] MxStatus GetMxStatusVQ([In] short id, out short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutMxStatusVQ([In] short id, [In] short quality, [In] MxStatus value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] MxStatus GetMxStatusArrayItem([In] short id, [In] int index); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutMxStatusArrayItem([In] short id, [In] int index, [In] MxStatus value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutMxStatusArrayQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutMxStatusQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetMxStatusQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetMxStatusArrayQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] MxDataType GetMxDataType([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutMxDataType([In] short id, [In] MxDataType value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] MxDataType GetMxDataTypeVQ([In] short id, out short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutMxDataTypeVQ([In] short id, [In] short quality, [In] MxDataType value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] MxDataType GetMxDataTypeArrayItem([In] short id, [In] int index); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutMxDataTypeArrayItem([In] short id, [In] int index, [In] MxDataType value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutMxDataTypeArrayQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutMxDataTypeQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetMxDataTypeQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetMxDataTypeArrayQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetCustomStruct([In] short id, out int guid, out int length, [Out] IntPtr value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutCustomStruct([In] short id, [In] int guid, [In] int length, [In] ref byte value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetCustomStructVQ([In] short id, out short quality, out int guid, out int length, [Out] IntPtr value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutCustomStructVQ([In] short id, [In] short quality, [In] int guid, [In] int length, [In] ref byte value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetCustomStructArrayItem([In] short id, [In] int index, out int guid, out int length, [Out] IntPtr value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutCustomStructArrayItem([In] short id, [In] int index, [In] int guid, [In] int length, [In] ref byte value); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutCustomStructArrayQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void PutCustomStructQ([In] short id, [In] short quality); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetCustomStructQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] short GetCustomStructArrayQ([In] short id); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void NotifyBROProxyOfAttributeChangeEx([In] ref PrimitiveAttributeTableEntry tableEntry, [In] short primitiveId, [In] short attributeId, [In] short propertyId, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValue, out int writeToAttribute); }