using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.Lmx; [ComImport] [Guid("8CF35610-42DB-41FB-8B37-9085F610D5AD")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IPrimitiveRuntime { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void Initialize([In] short primitiveId, [In][MarshalAs(UnmanagedType.Interface)] IPrimitiveRuntimeSite pSite); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void Startup([In] ref StartupInfo startInfo); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void Shutdown(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SetHandler([In] ref AttributeHandle pHandle, [In] ref SetInfo pInfo, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValue, [In][Out] ref MxStatus pStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void Execute(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SetScanState([In] bool bOnScan); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.BStr)] string GetStatusDescription([In] short shDetailedErrorCode); }