using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.NmxAdptr; [ComImport] [Guid("1B6AEB81-CB43-11D2-BFFF-00104B5F96A7")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IMxValueFactory { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void CreateInstance([MarshalAs(UnmanagedType.Interface)] out MxValue ppMxValue); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void CreateInstanceBool([MarshalAs(UnmanagedType.Interface)] out MxValue ppMxValue, bool val); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void CreateInstanceLong([MarshalAs(UnmanagedType.Interface)] out MxValue ppMxValue, int val); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void CreateInstanceFloat([MarshalAs(UnmanagedType.Interface)] out MxValue ppMxValue, float val); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void CreateInstanceDouble([MarshalAs(UnmanagedType.Interface)] out MxValue ppMxValue, double val); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void CreateInstanceString([MarshalAs(UnmanagedType.Interface)] out MxValue ppMxValue, [MarshalAs(UnmanagedType.LPWStr)] string val); }