DirectShow Base Class Reference

[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.]

This section contains reference entries for all the Microsoft DirectShow Base Classes, their data members, and their functions.

Class Description
CAggDirectDraw Deprecated.
CAggDrawSurface Deprecated.
CAMEvent Wrapper class for manual- and auto-reset events.
CAMMsgEvent Wrapper class for event objects that perform message processing.
CAMSchedule Scheduler for reference clocks.
CAMThread Bass class for managing worker threads.
CAutoLock Holds a critical section for the scope of a block.
CAutoUsingOutputPin Obtains and releases access to a CDynamicOutputPin object.
CBaseAllocator Bass class for allocators.
CBaseBasicVideo Handles the IDispatch component of the IBasicVideo interface.
CBaseControlVideo Implements the IBasicVideo interface for a generic video window.
CBaseControlWindow Implements the IVideoWindow interface.
CBaseDispatch Base class for implementing the IDispatch interface.
CBaseFilter Base class for filters.
CBaseInputPin Base class for input pins.
CBaseList Base class for generic lists.
CBaseMediaFilter Implements the IMediaFilter interface.
CBaseObject Base class for implementing DirectShow objects.
CBaseOutputPin Base class for output pins.
CBasePin Base class for pins.
CBasePropertyPage Base class for implementing property pages.
CBaseReferenceClock Implements a reference clock.
CBaseRenderer Base class for implementing renderer filters.
CBaseStreamControl Implements the IAMStreamControl interface.
CBaseVideoRenderer Base class for video renderers.
CBaseVideoWindow Handles the IDispatch component of the IVideoWindow interface.
CBaseWindow Base class for managing windows.
CBasicAudio Handles the IDispatch interface component of the IBasicAudio interface.
CCmdQueue Helper class for implementing the IQueueCommand interface.
CCritSec Provides a thread lock.
CDeferredCommand Implements the IDeferredCommand interface.
CDispParams Wrapper class for the DISPPARAMS structure.
CDrawImage Helper class for drawing to a window.
CDynamicOutputPin Output pin that supports dyanamic reconnections and format changes.
CEnumMediaTypes Enumerator for preferred media types.
CEnumPins Enumerator for pins.
CFactoryTemplate Class that provides information for a class factory.
CGenericList Class template that implements a type-specific list.
CImageAllocator Allocator for DIB sections.
CImageDisplay Helper class for managing image display formats.
CImagePalette Helper class for managing palettes.
CImageSample Media sample that uses DIB sections.
CLoadDirectDraw Deprecated.
CMediaControl Handles the IDispatch methods of the IMediaControl interface.
CMediaEvent Handles the IDispatch methods of the IMediaEvent interface.
CMediaPosition Handles the IDispatch methods of the IMediaPosition interface.
CMediaSample Media sample.
CMediaType Class for managing media types.
CMemAllocator Memory allocator.
CMsg Helper class for managing requests made to a CMsgThread object.
CMsgThread Worker thread that queues requests to the queuing thread for asynchronous completion.
COARefTime Converts reference times between seconds and 100-nanosecond units.
COutputQueue Object that queues media samples for delivery.
CPersistStream Base class for implementing the IPersistStream interface.
CPosPassThru Handles seek commands for filters with one input pin.
CPullPin Helper class that pulls data from an output pin that supports the IAsyncReader interface.
CQueue Class template that implements a simple, statically sized queue.
CRefTime Helper class to manage reference times.
CRenderedInputPin Input pin for renderer filters that support multiple inputs.
CRendererInputPin Input pin for the CBaseRenderer class.
CRendererPosPassThru Handles seek commands for renderer filters.
CSeekingPassThru Helper object that creates CPosPassThru and CRendererPosPassThru objects.
CSource Base class for implementing source filters.
CSourcePosition Abstract class for implementing the IMediaPosition interface. Obsolete.
CSourceSeeking Abstract class for implementing seeking in source filters with one output pin.
CSourceStream Output pin for the CSource class.
CSystemClock System clock.
CTransformFilter Base class for implementing transform filters.
CTransformInputPin Input pin used by the CTransformFilter class.
CTransformOutputPin Output pin used by the CTransformFilter class.
CTransInPlaceFilter Class for implementing transform filters that do not copy data.
CTransInPlaceInputPin Input pin for the CTransInPlaceFilter class.
CTransInPlaceOutputPin Output pin for the CTransInPlaceFilter class.
CUnknown Implements the IUnknown interface.
CVideoTransformFilter Base class for video transform filters.
FOURCCMap Helper class for converting between GUIDs and FOURCCs.

 

DirectShow Base Classes