42 lines
1.3 KiB
C#
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);
|
|
}
|
|
} |