Files
docker-wine-dotnet/VisualStudioMock/ISetupConfiguration.cs
2025-02-04 00:55:10 +01:00

42 lines
1.3 KiB
C#

using System;
using System.Runtime.InteropServices;
namespace VisualStudioMock
{
/// <summary>
/// Gets information about product instances installed on the machine.
/// </summary>
[ComImport]
[Guid("42843719-DB4C-46C2-8E7C-64F1816EFD5B")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface ISetupConfiguration
{
/// <summary>
/// Enumerates all launchable product instances installed.
/// </summary>
/// <returns>An enumeration of installed product instances.</returns>
[return: MarshalAs(UnmanagedType.Interface)]
IEnumSetupInstances EnumInstances();
/// <summary>
/// Gets the instance for the current process path.
/// </summary>
/// <returns>The instance for the current process path.</returns>
/// <remarks>
/// The returned instance may not be launchable.
/// </remarks>
[return: MarshalAs(UnmanagedType.Interface)]
ISetupInstance GetInstanceForCurrentProcess();
/// <summary>
/// Gets the instance for the given path.
/// </summary>
/// <param name="path">Path used to determine instance</param>
/// <returns>The instance for the given path.</returns>
/// <remarks>
/// The returned instance may not be launchable.
/// </remarks>
[return: MarshalAs(UnmanagedType.Interface)]
ISetupInstance GetInstanceForPath([In] [MarshalAs(UnmanagedType.LPWStr)] string path);
}
}