Método IFilterMapper2::EnumMatchingFilters (strmif.h)
[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
El EnumMatchingFilters
método enumera los filtros registrados que cumplen los requisitos especificados.
Sintaxis
HRESULT EnumMatchingFilters(
[out] IEnumMoniker **ppEnum,
[in] DWORD dwFlags,
[in] BOOL bExactMatch,
[in] DWORD dwMerit,
[in] BOOL bInputNeeded,
[in] DWORD cInputTypes,
[in] const GUID *pInputTypes,
[in] const REGPINMEDIUM *pMedIn,
[in] const CLSID *pPinCategoryIn,
[in] BOOL bRender,
[in] BOOL bOutputNeeded,
[in] DWORD cOutputTypes,
[in] const GUID *pOutputTypes,
[in] const REGPINMEDIUM *pMedOut,
[in] const CLSID *pPinCategoryOut
);
Parámetros
[out] ppEnum
Recibe un puntero a la interfaz IEnumMoniker . Use este puntero de interfaz para recuperar monikers de filtro de la enumeración. El autor de la llamada debe liberar la interfaz .
[in] dwFlags
Reservado, debe ser 0.
[in] bExactMatch
Valor booleano que indica si se requiere una coincidencia exacta. Vea Comentarios para obtener más información.
[in] dwMerit
Valor mínimo de mérito. La enumeración excluye filtros con un valor de mérito menor. Para obtener una lista de valores de mérito, vea Merit. Si dwMerit es mayor que MERIT_DO_NOT_USE, la enumeración también excluye los filtros cuya categoría tiene un mérito menor o igual que MERIT_DO_NOT_USE. (Consulte Categorías de filtro).
[in] bInputNeeded
Valor booleano que indica si el filtro debe tener un pin de entrada. Si el valor es TRUE, el filtro debe tener al menos un pin de entrada.
[in] cInputTypes
Número de tipos de medios de entrada especificados en pInputTypes.
[in] pInputTypes
Puntero a una matriz de pares GUID que especifican tipos y subtipos principales, para que coincidan los patillas de entrada. El tamaño de la matriz es 2 * cInputTypes. La matriz puede ser NULL. Los miembros de matriz individuales pueden ser GUID_NULL, que coincide con cualquier tipo. (Vea Tipos de medios).
[in] pMedIn
Puntero a una estructura REGPINMEDIUM que especifica el medio para los pines de entrada. Establezca en NULL si no es necesario.
[in] pPinCategoryIn
Puntero a un GUID que especifica la categoría de patillas de entrada. (Consulte Conjunto de propiedades Pin). Establezca en NULL si no es necesario.
[in] bRender
Valor booleano que especifica si el filtro debe representar su entrada. Si es TRUE, el filtro especificado debe representar su entrada. (Este valor corresponde al campo bRendered de la estructura REGFILTERPINS , que se usa para registrar información sobre las patillas del filtro).
[in] bOutputNeeded
Valor booleano que especifica si el filtro debe tener un pin de salida. Si es TRUE, el filtro debe tener al menos un pin de salida.
[in] cOutputTypes
Número de tipos de medios de entrada especificados en pOutputTypes.
[in] pOutputTypes
Puntero a una matriz de pares GUID que especifican tipos y subtipos principales, para que coincidan los pines de salida. El tamaño de la matriz es 2 * cOutputTypes. La matriz puede ser NULL. Los miembros de matriz individuales pueden ser GUID_NULL, que coincide con cualquier tipo.
[in] pMedOut
Puntero a una estructura REGPINMEDIUM que especifica el medio para los pines de salida. Establezca en NULL si no es necesario.
[in] pPinCategoryOut
Puntero a un GUID que especifica la categoría de patillas de salida. (Consulte Conjunto de propiedades Pin). Establezca en NULL si no es necesario.
Valor devuelto
Devuelve un valor HRESULT . Entre los valores posibles se incluyen los que se muestran en la tabla siguiente.
Código devuelto | Descripción |
---|---|
|
Correcto |
|
Error |
|
Memoria suficiente |
|
Argumento de puntero NULL |
Comentarios
Para buscar filtros cuyos patillas de entrada coinciden con un conjunto determinado de tipos multimedia, declare una matriz con GUID de tipo principal y GUID de subtipo ordenados en pares. Pase la dirección de matriz en el parámetro pInputTypes y establezca el parámetro cInputTypes igual al número de pares (es decir, la mitad del tamaño de la matriz):
C++ |
---|
MATRIZ GUIDInTypes[2]; arrayInTypes[0] = MEDIATYPE_Video; arrayInTypes[1] = GUID_NULL; |
Si el valor del parámetro bExactMatch es TRUE, este método busca filtros que coincidan exactamente con los valores especificados para el tipo de medio, la categoría de patillas y el medio de patilla. Si el valor es FALSE, los filtros que registran un valor NULL para cualquiera de estos elementos se consideran una coincidencia. (En efecto, un valor NULL en el Registro actúa comodín).
Si especifica NULL para el tipo de medio, la categoría de patillas o el medio de patillas, cualquier filtro se considera una coincidencia para ese parámetro.
Si un pin no registró ningún tipo de medio, este método no lo considerará una coincidencia para el tipo de medio.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | strmif.h (incluya Dshow.h) |
Library | Strmiids.lib |