Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

IGraphBuilder::AddSourceFilter method

The AddSourceFilter method adds a source filter for a specified file to the filter graph.


HRESULT AddSourceFilter(
  [in]   LPCWSTR lpwstrFileName,
  [in]   LPCWSTR lpwstrFilterName,
  [out]  IBaseFilter **ppFilter


lpwstrFileName [in]

Specifies the name of the file to load.

lpwstrFilterName [in]

Specifies a name for the source filter.

ppFilter [out]

Receives a pointer to the filter's IBaseFilter interface. The caller must release the interface.

Return value

Returns an HRESULT. Possible values include the following.

Return codeDescription



The source filter does not support the IFileSourceFilter interface.


Insufficient memory.


NULL pointer argument.


The source filter for this file could not be loaded.


File or object not found.


The media type of this file was not recognized.



This method searches for an installed filter that can read the specified file. If it finds one, the method adds it to the filter graph and returns a pointer to the filter's IBaseFilter interface. To determine the media type and compression scheme of the file, the Filter Graph Manager reads the first few bytes of the file, looking for specific patterns of bytes, as documented in the article Registering a Custom File Type.

The application is responsible for building the rest of the filter graph. To do so, call IBaseFilter::EnumPins to enumerate the output pins on the source filter. Then use either the IGraphBuilder::Connect method or the IGraphBuilder::Render method.

If the method succeeds, the IBaseFilter interface has an outstanding reference count. The caller must release the interface.

To render a file for default playback, use the IGraphBuilder::RenderFile method.

The Filter Graph Manager holds a reference count on the filter until the filter is removed from the graph or the Filter Graph Manager is released.


Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]


Strmif.h (include Dshow.h)



See also

Error and Success Codes
IGraphBuilder Interface



Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

© 2014 Microsoft. All rights reserved.