IFilterMapper2::CreateCategory method (strmif.h)

[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 CreateCategory method adds a new filter category to the registry.


HRESULT CreateCategory(
  [in] REFCLSID clsidCategory,
  [in] DWORD    dwCategoryMerit,
  [in] LPCWSTR  Description


[in] clsidCategory

Class identifier (CLSID) of the new filter category.

[in] dwCategoryMerit

Merit of the category. Categories with higher merit are enumerated first.

[in] Description

Descriptive name for the category.

Return value

Returns S_OK if successful, or an HRESULT value indicating the cause of the error.


The filter graph manager initially skips all categories with a merit value less than or equal to MERIT_DO_NOT_USE, to speed up the graph-building process. Filter categories that should not be considered for playback should have a merit of MERIT_DO_NOT_USE or less.

A filter can appear in one or more categories (for example, Video Compressors) to restrict the search space.


Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header strmif.h (include Dshow.h)
Library Strmiids.lib

See also

Error and Success Codes

IFilterMapper2 Interface