using System;
using System.Runtime.InteropServices;
namespace VisualStudioMock
{
///
/// Gets information about product instances set up on the machine.
///
[ComImport]
[Guid("26AAB78C-4A60-49D6-AF3B-3C35BC93365D")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface ISetupConfiguration2 : ISetupConfiguration
{
///
/// Enumerates all launchable product instances installed.
///
/// An enumeration of installed product instances.
[return: MarshalAs(UnmanagedType.Interface)]
new IEnumSetupInstances EnumInstances();
///
/// Gets the instance for the current process path.
///
/// The instance for the current process path.
///
/// The returned instance may not be launchable.
///
[return: MarshalAs(UnmanagedType.Interface)]
new ISetupInstance GetInstanceForCurrentProcess();
///
/// Gets the instance for the given path.
///
/// Path used to determine instance
/// The instance for the given path.
///
/// The returned instance may not be launchable.
///
[return: MarshalAs(UnmanagedType.Interface)]
new ISetupInstance GetInstanceForPath([In] [MarshalAs(UnmanagedType.LPWStr)] string path);
///
/// Enumerates all product instances.
///
/// An enumeration of all product instances.
[return: MarshalAs(UnmanagedType.Interface)]
IEnumSetupInstances EnumAllInstances();
}
}