|
namespace dshow.Core
{
using System;
using System.Runtime.InteropServices;
// IFilterGraph interface
//
// The IFilterGraph interface is an abstraction representing
// a graph of filters
//
[ComImport,
Guid("56A8689F-0AD4-11CE-B03A-0020AF0BA770"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
internal interface IFilterGraph
{
// Adds a filter to the graph and names it
// by using the pName parameter
[PreserveSig]
int AddFilter(
[In] IBaseFilter pFilter,
[In, MarshalAs(UnmanagedType.LPWStr)] string pName);
// Removes a filter from the graph
[PreserveSig]
int RemoveFilter(
[In] IBaseFilter pFilter);
// Provides an enumerator for all filters in the graph
[PreserveSig]
// int EnumFilters(
// [Out] out IEnumFilters ppEnum);
int EnumFilters(
[Out] out IntPtr ppEnum);
// Finds a filter that was added
// to the filter graph with a specific name
[PreserveSig]
int FindFilterByName(
[In, MarshalAs(UnmanagedType.LPWStr)] string pName,
[Out] out IBaseFilter ppFilter);
// Connects the two pins directly
[PreserveSig]
int ConnectDirect(
[In] IPin ppinOut,
[In] IPin ppinIn,
[In, MarshalAs(UnmanagedType.LPStruct)] AMMediaType pmt);
// Disconnects this and the pin to which it connects and
// then reconnects it to the same pin
[PreserveSig]
int Reconnect(
[In] IPin ppin);
// Disconnects this pin
[PreserveSig]
int Disconnect(
[In] IPin ppin);
// Sets the default source of synchronization
[PreserveSig]
int SetDefaultSyncSource();
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.