using System;
using System.Runtime.InteropServices;
namespace VisualStudioMock
{
///
/// Gets information about product instances installed on the machine.
///
[ComImport]
[Guid("42843719-DB4C-46C2-8E7C-64F1816EFD5B")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface ISetupConfiguration
{
///
/// Enumerates all launchable product instances installed.
///
/// An enumeration of installed product instances.
[return: MarshalAs(UnmanagedType.Interface)]
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)]
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)]
ISetupInstance GetInstanceForPath([In] [MarshalAs(UnmanagedType.LPWStr)] string path);
}
}