using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace NAudio.MediaFoundation
{
///
/// Represents a generic collection of IUnknown pointers.
///
[ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("5BC8A76B-869A-46A3-9B03-FA218A66AEBE")]
public interface IMFCollection
{
///
/// Retrieves the number of objects in the collection.
///
void GetElementCount(out int pcElements);
///
/// Retrieves an object in the collection.
///
void GetElement([In] int dwElementIndex, [Out, MarshalAs(UnmanagedType.IUnknown)] out object ppUnkElement);
///
/// Adds an object to the collection.
///
void AddElement([In, MarshalAs(UnmanagedType.IUnknown)] object pUnkElement);
///
/// Removes an object from the collection.
///
void RemoveElement([In] int dwElementIndex, [Out, MarshalAs(UnmanagedType.IUnknown)] out object ppUnkElement);
///
/// Removes an object from the collection.
///
void InsertElementAt([In] int dwIndex, [In, MarshalAs(UnmanagedType.IUnknown)] object pUnknown);
///
/// Removes all items from the collection.
///
void RemoveAllElements();
}
}