IFilterMapper2::EnumMatchingFilters

This method provides an enumerator that enumerates registered filters that meet specified requirements.

HRESULT EnumMatchingFilters(
  IEnumMoniker** ppEnum,
  DWORD dwFlags,
  BOOL bExactMatch,
  DWORD dwMerit,
  BOOL bInputNeeded,
  DWORD cInputTypes,
  const GUID* pInputTypes,
  const REGPINMEDIUM* pMedIn,
  const CLSID* pPinCategoryIn,
  BOOL bRender,
  BOOL bOutputNeeded,
  DWORD cOutputTypes,
  const GUID* pOutputTypes,
  const REGPINMEDIUM* pMedOut,
  const CLSID* pPinCategoryOut
);

Parameters

  • ppEnum
    [out] Enumerator returned.
  • dwFlags
    [in] Currently reserved, specify zero.
  • bExactMatch
    [in] Specify TRUE to indicate only an exact match is required; FALSE indicates that an exact match is not required. If the subtype, category, and/or media are specified, then the bExactMatch flag determines whether filters which register null for their subtype, majortype, category, and/or medium are matched.
  • dwMerit
    [in] Enumerate only filters with at least the specified merit value.
  • bInputNeeded
    [in] TRUE if there must be at least one input pin.
  • cInputTypes
    [in] Number of input major and subtype pairs specified in pInputTypes.
  • pInputTypes
    [in] Input major types and subtype required. This is an array of cInputTypes *2 GUIDs. Set to NULL if you do not care. Set individual major/sub types to GUID_NULL if those do not matter.
  • pMedIn
    [in] Input medium. Set to NULL if not needed.
  • pPinCategoryIn
    [in] Input pin category. Set to NULL if not needed.
  • bRender
    [in] Option that indicates if the specified filter must render the input.
  • bOutputNeeded
    [in] TRUE if there must be at least one output pin.
  • cOutputTypes
    [in] Number of output major and subtype pairs specified in pOutputTypes.
  • pOutputTypes
    [in] Output major type and subtype required. This is an array of cOutputTypes *2 GUIDs. Set to NULL if you do not care. Set individual major/sub types to GUID_NULL if those do not matter.
  • pMedOut
    [in] Output medium. Set to NULL if not needed.
  • pPinCategoryOut
    [in] Output pin category. Set to NULL if not needed.

Return Values

Returns S_OK if successful or E_FAIL upon failure.

Remarks

The function lets you specify one or more of those four things through the three arguments pInputTypes, pPinCategoryIn, pMedIn, and their output counterparts. For each one specified in this function call, the filter must have registered an exact match in the filter if the bExactMatch flag is specified.

If a pin has not registered any media types, this method will not consider a match for the media type passed in for the pInputTypes or pOutputTypes parameters.

Requirements

DirectShow applications and DirectShow filters have different include file and link library requirements. See Setting Up the Build Environment for more information.

OS Versions: Windows CE 2.12 and later. Version 2.12 requires DXPAK 1.0 or later.

See Also

IFilterMapper2 Interface

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.