Alphabetical List of DirectShow Interfaces
[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
The following is an alphabetical list of DirectShow interfaces.
Interface | Description |
---|---|
IAMAnalogVideoDecoder | Sets and retrieves information about the analog-to-digital conversion process in a video capture filter. |
IAMAudioInputMixer | Controls audio capture properties. |
IAMAudioRendererStats | Retrieves statistical performance information from an audio renderer filter. |
IAMBufferNegotiation | Requests the number of buffers for a filter to create and size of each buffer. |
IAMCameraControl | Controls camera settings such as zoom, pan, aperture adjustment, or shutter speed. |
IAMCertifiedOutputProtection | Sends Certified Output Protection Protocol (COPP) messages to the graphics driver. |
IAMChannelInfo | Gets and sets channel information for Windows Media Station (.nsc) files. |
IAMClockAdjust | Adjusts the reference clock. |
IAMClockSlave | Controls the tolerance of an audio renderer when it is matching rates with another clock. |
IAMCopyCaptureFileProgress | Callback interface for the ICaptureGraphBuilder2::CopyCaptureFile method. |
IAMCrossbar | Routes signals from an analog or digital source to a video capture filter. |
IAMDecoderCaps | Returns capabilities information from an MPEG decoder filter. |
IAMDeviceRemoval | Provides a way for the Filter Graph Manager to register for device removal events for a capture device. |
IAMDirectSound | Specifies which window has focus for controlling DirectSound audio playback. |
IAMDroppedFrames | Retrieves performance information from a video capture filter. |
IAMExtDevice | Controls an external device, such as a DV camera or video tape recoder (VTR). |
IAMExtTransport | Controls the transport on a VTR or camcorder. |
IAMExtendedSeeking | Seeks to a marker in a Windows Media stream or changes the playback rate for a Windows Media file. |
IAMFilterGraphCallback | Callback interface for graph building. |
IAMFilterMiscFlags | Queries whether a filter is a source filter or a renderer. |
IAMGraphBuilderCallback | Callback interface for graph building. |
IAMGraphStreams | Controls a filter graph that renders a live source. |
IAMLatency | Reports the amount of latency that a filter introduces into the graph. |
IAMLine21Decoder | Sets and retrieves information about closed captions. |
IAMMediaContent | Retrieves metadata from a stream. |
IAMNetShowConfig | Configures the legacy Windows Media Player 6.4 source filter. |
IAMNetShowExProps | Configures the legacy Windows Media Player 6.4 source filter. |
IAMNetShowPreroll | Sets and retrieves the preroll settings for the legacy Windows Media Player 6.4 source filter. |
IAMNetworkStatus | Reports the quality of the network connection for the legacy Windows Media Player 6.4 source filter. |
IAMOpenProgress | Reports the progress of a file-open operation. |
IAMOverlayFX | Controls how the video overlay appears on the user's screen. |
IAMParse | Sets and retrieves the parse time for an MPEG-2 stream. |
IAMPushSource | Synchronizes a filter graph that renders a live source. |
IAMResourceControl | Opens and holds an audio device resource. |
IAMStats | Retrieves performance data from the Filter Graph Manager. |
IAMStreamConfig | Sets the output format on certain capture and compression filters. |
IAMStreamControl | Controls individual streams on a filter. |
IAMStreamSelect | selects from the available streams on a parser filter. |
IAMTimecodeReader | Reads SMPTE or MIDI timecode from an external device. |
IAMTuner | Controls a TV tuner. |
IAMTVAudio | Controls audio from a television source. |
IAMTVTuner | Controls a TV tuner. |
IAMVfwCaptureDialogs | Displays a dialog box provided by a Video for Windows (VFW) capture driver. |
IAMVfwCompressDialogs | Displays a dialog box provided by a Video for Windows (VFW) codec. |
IAMVideoAccelerator | Enables a video decoder filter to access DirectX Video Acceleration (DXVA) 1.0 functionality. |
IAMVideoAcceleratorNotify | Callback interface for DXVA 1.0. |
IAMVideoCompression | Sets and retrieves video compression properties. |
IAMVideoControl | Controls certain video capture operations such as enumerating available frame rates and image orientation. |
IAMVideoDecimationProperties | Controls how the Overlay Mixer performs video decimation. |
IAMVideoProcAmp | Adjusts the qualities of an incoming video signal. |
IAMWMBufferPass | Gets or sets properties on individual samples in an ASF stream. |
IAMWMBufferPassCallback | Callback interface used with the IAMWMBufferPass interface. |
IAMWstDecoder | Sets and retrieves information about World Standard Teletext (WST) |
IAsyncReader | Performs an asynchronous data request on a filter. |
IBaseFilter | Exposed by filters. This is the primary interface for all DirectShow filters. |
IBasicAudio | Controls the volume and balance of the audio stream. |
IBasicVideo | Sets video properties such as the destination and source rectangles. |
IBasicVideo2 | Extends the IBasicVideo interface. |
ICameraControl | Controls the camera settings on a capture device. |
ICaptureGraphBuilder2 | Builds capture graphs and other custom filter graphs. |
ICodecAPI | Configures an encoder or decoder. |
IConfigAsfWriter | Configures the WM ASF Writer filter. |
IConfigAsfWriter2 | Extends the IConfigAsfWriter interface. |
IConfigAviMux | Configures the AVI Mux filter. |
IConfigInterleaving | Controls how the AVI Mux interleaves audio and video samples. |
ICreateDevEnum | Creates an enumerator for a category of filters. |
IDDrawExclModeVideo | Enables video playback in DirectDraw exclusive full-screen mode. |
IDDrawExclModeVideoCallback | Callback interface for the IDDrawExclModeVideoCallback interface. |
IDecimateVideoImage | Specifies decimation on a decoder filter. |
IDeferredCommand | Cancels or modifies graph-control commands that were queued using the IQueueCommand interface. |
IDirectDrawVideo | Queries the Video Renderer filter about DirectDraw surfaces and hardware capabilities. |
IDirectDrawMediaSample | Provides access to DirectDraw surfaces allocated by the Overlay Mixer filter. |
IDirectDrawMediaSampleAllocator | Allocates samples that contain DirectDraw surfaces. |
IDistributorNotify | Enables a plug-in distributor to be notified when the filter graph changes. |
IDMOWrapperFilter | Enables an application to use a DirectX Media Object (DMO) inside a filter graph. |
IDShowPlugin | Enables the Windows Media Source filter to communicate with the Windows Media Player 6.4 Plug-in for Netscape Navigator. |
IDvdCmd | Waits for DVD commands to start or end. |
IDvdControl2 | Navigates and plays DVD-Video titles. |
IDvdGraphBuilder | Builds a filter graph for DVD-Video playback. |
IDvdInfo2 | Reports attributes of a DVD disc or the current state of the DVD Navigator filter. |
IDvdState | Saves the current DVD playback location and state. |
IDVEnc | Sets and retrieves properties on the DV Video Encoder filter. |
IDVRGB219 | Controls the dynamic range in the DV Video Encoder and DV Video Decoder filters. |
IDVSplitter | Downgrades the frame rate on a digital video (DV) stream. |
IEnumFilters | Enumerates the filters in a filter graph |
IEnumMediaTypes | Enumerates a pin's preferred media types |
IEnumPIDMap | Enumerates the mappings of Packet IDs (PID) to output pins on the MPEG-2 Demultiplexer filter. |
IEnumPins | Enumerates pins on a filter. |
IEnumStreamIdMap | Enumerates the mappings of stream IDs to output pins on the MPEG-2 Demultiplexer filter. |
IFileSinkFilter | Exposed by filters that write data to a file. |
IFileSinkFilter2 | Extends the IFileSinkFilter interface. |
IFileSourceFilter | Exposed by source filters. |
IFilterChain | Starting, stops, or removes chains of filters in a filter graph. |
IFilterGraph | Builds a filter graph. |
IFilterGraph2 | Extends the IGraphBuilder interface. |
IFilterGraph3 | Extends the IFilterGraph2 interface. |
IFilterMapper2 | Registers and unregisters filters, and locates filters in the registry. |
IFilterMapper3 | Extends the IFilterMapper2 interface. |
IFullScreenVideoEx | Exposed by the Full Screen Renderer filter. |
IGetCapabilitiesKey | Retrieves the capabilities of a software or hardware encoder from the registry. |
IGraphBuilder | Extends the IFilterGraph interface. This is the primary interface of the Filter Graph Manager. |
IGraphConfig | Reconfigures the filter graph while the graph is running. |
IGraphConfigCallback | Callback interface for the IGraphConfig interface. |
IGraphVersion | Retrieves the current version number of the filter graph. |
IIPDVDec | Configures the DV Video Decoder filter. |
IKsNodeControl | Exposed by USB Video Class (UVC) extension units. |
IKsPin | Retrieves the mediums supported by a kernel-mode pin. |
IKsPropertySet | Sets properties on a kernel-mode filter. |
IKsTopologyInfo | Enumerates the nodes in a stream class driver. |
IMediaControl | Controls the flow of data through the filter graph. |
IMediaEvent | Retrieves event notifications from the filter graph. |
IMediaEventEx | Extends the IMediaEvent interface. |
IMediaEventSink | Notifies the Filter Graph Manager of events that occur within the filter graph. |
IMediaFilter | Controls the streaming state of a filter. |
IMediaPosition | Controls seeking in the filter graph. |
IMediaPropertyBag | Sets and retrieves INFO and DISP chunks in Audio-Video Interleaved (AVI) files. |
IMediaSample | Sets and retrieves properties on media samples. |
IMediaSample2 | Extends the IMediaSample interface. |
IMediaSample2Config | Returns a pointer to a Direct3D surface representing a VRAM capture buffer. |
IMediaSeeking | Controls seeking in the filter graph. |
IMemAllocator | Allocates media samples. |
IMemAllocatorCallbackTemp | Enables a filter to receive a callback notification from an allocator. Note: Deprecated. |
IMemAllocatorNotifyCallbackTemp | Callback interface for the IMemAllocatorCallbackTemp interface. Note: Deprecated. |
IMemInputPin | Delivers media data to an input pin. |
IMixerOCX | Exposed by the Overlay Mixer filter. |
IMixerOCXNotify | Callback interface for the IMixerOCX interface. |
IMixerPinConfig | Manipulates video streams on the Overlay Mixer filter. |
IMixerPinConfig2 | Extends the IMixerPinConfig interface. |
IMpeg2Demultiplexer | Configures the MPEG-2 Demultiplexer filter. |
IMPEG2PIDMap | Associates an output pin on the MPEG-2 Demultiplexer filter with one or more packet IDs (PIDs). |
IMPEG2StreamIdMap | Associates an output pin on the MPEG-2 Demultiplexer filter with one or more stream IDs. |
IMpegAudioDecoder | Configures the MPEG-1 Audio Decoder. |
IOverlay | Enables a filter to write directly to video memory. |
IOverlayNotify | Callback interface for the IOverlay interface. |
IOverlayNotify2 | Callback interface for the IOverlay interface. |
IPersistMediaPropertyBag | Sets and retrieves INFO and DISP chunks in Audio-Video Interleaved (AVI) streams. |
IPin | Exposed by all filter pins. |
IPinConnection | Reconnects an input pin while the filter is still running. |
IPinFlowControl | Blocks data flow from an active output pin. |
IQualityControl | Provides support for quality control in the filter graph. |
IQualProp | Retrieves performance information from video renderers. |
IQueueCommand | Queues a command on the filter graph for processing at a designated time. |
IReferenceClock | Provides the reference time for the filter graph. |
IReferenceClockTimerControl | Changes the timer period used by a reference clock. |
IRegisterServiceProvider | Registers an object as a service with the Filter Graph Manager. |
IResourceConsumer | Callback interface for the IResourceManager interface. |
IResourceManager | Resolves contentions for system resources. |
ISeekingPassThru | Implements seeking for one-input filters. |
ISelector | Selects source nodes in a stream class driver. |
IStreamBuilder | Enables an output pin to build the downstream section of the filter graph. |
IVideoFrameStep | Steps through a video stream. |
IVideoProcAmp | Controls the image adjustment (ProcAmp) settings on a capture device. |
IVideoWindow | Sets properties on the video window. |
IVMRAspectRatioControl | controls whether the Video Mixing Renderer Filter 7 (VMR-7) preserves the aspect ratio of the source video. |
IVMRAspectRatioControl9 | Controls whether the Video Mixing Renderer Filter 9 (VMR-9) preserves the aspect ratio of the source video |
IVMRDeinterlaceControl | Supports hardware-accelerated deinterlacing using the VMR-7. |
IVMRDeinterlaceControl9 | Supports hardware-accelerated deinterlacing using the VMR-9. |
IVMRFilterConfig | Configures the VMR-7. |
IVMRFilterConfig9 | Configures the VMR-9. |
IVMRImageCompositor | Exposed by VMR-7 compositors. |
IVMRImageCompositor9 | Exposed by VMR-9 compositors. |
IVMRImagePresenter | Exposed by VMR-7 allocator-presenters. |
IVMRImagePresenter9 | Exposed by VMR-9 allocator-presenters. |
IVMRImagePresenterConfig | Sets the renderering preferences on the image presenter used by the VMR-7. |
IVMRImagePresenterConfig9 | Sets the renderering preferences on the image presenter used by the VMR-9. |
IVMRImagePresenterExclModeConfig | Setting and retrieves the renderering preferences on the Exclusive Mode Allocator-Presenter for the VMR-7 |
IVMRMixerBitmap | Blends a static image onto the video stream, when using the VMR-7. |
IVMRMixerBitmap9 | Blends a static image onto the video stream, when using the VMR-9. |
IVMRMixerControl | Manipulates the incoming video streams on the VMR-7. |
IVMRMixerControl9 | Manipulates the incoming video streams on the VMR-9. |
IVMRMonitorConfig | Controls monitor usage by the VMR-7. |
IVMRMonitorConfig9 | Controls monitor usage by the VMR-9. |
IVMRSurface | Exposed by media samples from the VMR-7. |
IVMRSurface9 | Exposed by media samples from the VMR-9. |
IVMRSurfaceAllocator | Allocates the DirectDraw surfaces used by the VMR-7 allocator-presenter. |
IVMRSurfaceAllocator9 | Allocates the Direct3D surfaces used by the VMR-9 allocator-presenter. |
IVMRSurfaceAllocatorEx9 | Extends the IVMRSurfaceAllocator9 interface. |
IVMRSurfaceAllocatorNotify | Enables the allocator-presenter to notify the VMR-7. |
IVMRSurfaceAllocatorNotify9 | Enables the allocator-presenter to notify the VMR-9. |
IVMRVideoStreamControl | Controls input pins on the VMR-7. |
IVMRVideoStreamControl9 | Controls input pins on the VMR-9. |
IVMRWindowlessControl | Controls how the VMR-7 renders a video stream. |
IVMRWindowlessControl9 | Controls how the VMR-9 renders a video stream. |
IVPBaseConfig | Base interface for the IVPConfig interface. |
IVPBaseNotify | Base interface for the IVPNotify interface. |
IVPConfig | Enables a video port to communicate with the Overlay Mixer filter. |
IVPManager | Exposed by the Video Port Manager filter. |
IVPNotify | Enables the Overlay Mixer to control the properties of a hardware device that uses a video port. |
IVPNotify2 | Extends the IVPNotify interface. |
IXMLGraphBuilder | Persists a DirectShow filter graph using an XML file format. Note: Deprecated. |