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