using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.NmxAdptr; [ComImport] [Guid("B6EEB7BF-AE82-4373-A715-32ADF63E7076")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IVersionInformation2 : IVersionInformation { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.BStr)] new string GetProductInternalName(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.BStr)] new string GetComponentInternalName(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new int GetMasterBuildNumber(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new int GetMasterBuildComponentVersion(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new int GetMaintenanceBuildNumber(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] new int GetMaintenanceBuildComponentVersion(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetBuildNumsAndComponentVers(out int masterBuildNumber, out int masterBuildComponentVersion, out int maintenanceBuildNumber, out int maintenanceBuildComponentVersion); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetFileVersionNumbers([In] int platformId, [In] MxFileLocationEnum fileLocation, [In][MarshalAs(UnmanagedType.LPWStr)] string fileName, out int masterBuildNumber, out int masterBuildComponentVersion, out int maintenanceBuildNumber, out int maintenanceBuildComponentVersion); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetAllFileVersionNumbers([In] int platformId, [In][MarshalAs(UnmanagedType.LPWStr)] string fileName, out int lVersionCount, [MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_I4)] out int[] ppMasterBuildNumber, [MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_I4)] out int[] ppMasterBuildComponentVersion, [MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_I4)] out int[] ppMaintenanceBuildNumber, [MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_I4)] out int[] ppMaintenanceBuildComponentVersion); }