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); } }