42 lines
1.8 KiB
C#
42 lines
1.8 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace VisualStudioMock
|
|
{
|
|
/// <summary>
|
|
/// An enumerator of installed <see cref="ISetupInstance" /> objects.
|
|
/// </summary>
|
|
[ComImport]
|
|
[Guid("6380BCFF-41D3-4B2E-8B2E-BF8A6810C848")]
|
|
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
|
[TypeIdentifier]
|
|
[ComVisible(true)]
|
|
public interface IEnumSetupInstances
|
|
{
|
|
/// <summary>
|
|
/// Retrieves the next set of product instances in the enumeration sequence.
|
|
/// </summary>
|
|
/// <param name="celt">The number of product instances to retrieve.</param>
|
|
/// <param name="rgelt">A pointer to an array of <see cref="ISetupInstance" />.</param>
|
|
/// <param name="pceltFetched">A pointer to the number of product instances retrieved. If <paramref name="celt" /> is 1 this parameter may be NULL.</param>
|
|
void Next([In] [MarshalAs(UnmanagedType.U4)] int celt, [Out] [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.Interface)] ISetupInstance[] rgelt, [MarshalAs(UnmanagedType.U4)] out int pceltFetched);
|
|
|
|
/// <summary>
|
|
/// Skips the next set of product instances in the enumeration sequence.
|
|
/// </summary>
|
|
/// <param name="celt">The number of product instances to skip.</param>
|
|
void Skip([In] [MarshalAs(UnmanagedType.U4)] int celt);
|
|
|
|
/// <summary>
|
|
/// Resets the enumeration sequence to the beginning.
|
|
/// </summary>
|
|
void Reset();
|
|
|
|
/// <summary>
|
|
/// Creates a new enumeration object in the same state as the current enumeration object: the new object points to the same place in the enumeration sequence.
|
|
/// </summary>
|
|
/// <returns>A pointer to a pointer to a new <see cref="T:Microsoft.VisualStudio.Setup.Configuration.IEnumSetupInstances" /> interface. If the method fails, this parameter is undefined.</returns>
|
|
[return: MarshalAs(UnmanagedType.Interface)]
|
|
IEnumSetupInstances Clone();
|
|
}
|
|
} |