Método ICaptureGraphBuilder2::FindInterface (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 FindInterface
método busca en el gráfico una interfaz especificada, empezando por un filtro especificado. Puede restringir la búsqueda a una sección del grafo ascendente o descendente del filtro, o restringirla a un tipo de medio o categoría de pin determinado.
Sintaxis
HRESULT FindInterface(
[in] const GUID *pCategory,
[in] const GUID *pType,
[in] IBaseFilter *pf,
[in] REFIID riid,
[out] void **ppint
);
Parámetros
[in] pCategory
Puntero a un GUID que especifica los criterios de búsqueda. Vea Comentarios para obtener más información. Los siguientes valores posibles son posibles:
- &LOOK_UPSTREAM_ONLY.
- &LOOK_DOWNSTREAM_ONLY.
- Una de las categorías de patillas enumeradas en Conjunto de propiedades de Pin.
- NULL
[in] pType
Puntero a un GUID que especifica el tipo de medio principal de un pin de salida o NULL.
[in] pf
Puntero a la interfaz IBaseFilter del filtro. El método comienza a buscar desde este filtro.
[in] riid
Identificador de interfaz (IID) de la interfaz que se va a buscar.
[out] ppint
Dirección de una variable que recibe el puntero de interfaz. Asegúrese de liberar el puntero de interfaz recuperado cuando haya terminado con la interfaz .
Valor devuelto
Devuelve un valor HRESULT . Estos son algunos de los valores posibles.
Código devuelto | Descripción |
---|---|
|
Correcto. |
|
Error. |
|
No se admite dicha interfaz. |
|
Argumento de puntero NULL. |
Comentarios
En un gráfico de captura, varios filtros y patillas pueden exponer interfaces para establecer propiedades como parámetros de compresión (IAMVideoCompression) o formatos de secuencia (IAMStreamConfig). Dependiendo del dispositivo de captura, otras interfaces útiles pueden incluir IAMCrossbar, que enruta señales analógicas o IAMTVTuner, que controla un dispositivo de sintonizador de TV. Puede usar este método para buscar una interfaz, sin escribir código especial que atraviesa el gráfico.
- Filtro
- Patillas del filtro
- Todos los filtros de bajada, incluidos sus patillas
- Todos los filtros ascendentes, incluidos sus patillas
- Si pCategory es igual a &LOOK_UPSTREAM_ONLY, la búsqueda comienza desde las patillas de entrada del filtro y continúa ascendente. No incluye el filtro ni nada de nivel inferior del filtro. Se omite el parámetro pType .
- Si pCategory es igual a &LOOK_DOWNSTREAM_ONLY, la búsqueda se inicia desde las patillas de salida del filtro y continúa hacia abajo. No incluye el filtro ni nada ascendente del filtro. Se omite el parámetro pType .
- Si pCategory especifica una categoría de patilla, la parte inferior de la búsqueda se restringe a las patillas de salida del filtro que coinciden con la categoría de patilla y el tipo de medio especificado en el parámetro pType . En este caso, el método también busca el filtro y todo lo que precede en el filtro.
Las categorías de patillas son útiles para buscar interfaces de anclaje en filtros de captura. Por ejemplo, un filtro de captura podría tener patillas independientes para la captura y la vista previa. Si especifica una categoría de anclaje, también debe especificar el tipo de medio para asegurarse de que el método selecciona el filtro y el pin correctos.
Algunos filtros de captura de vídeo tienen un pin de puerto de vídeo (PIN_CATEGORY_VIDEOPORT) en lugar de un pin de vista previa. Si especifica PIN_CATEGORY_PREVIEW y MEDIATYPE_Video, el método trata los pines de puerto de vídeo como patillas de vista previa. La aplicación no tiene que probar esta posibilidad.
Filtros auxiliares. Si un dispositivo de captura usa un controlador de Modelo de controlador de Windows (WDM), el gráfico puede requerir ciertos filtros ascendentes del filtro de captura de vídeo WDM , como un filtro de tuner de TV o un filtro de barra cruzada de vídeo analógico . Si el parámetro pCategory no es igual a NULL, este método inserta automáticamente los filtros WDM necesarios en el gráfico. Para ello, consulta las patillas de entrada en el filtro de captura para determinar qué medios admiten y los conecta a filtros coincidentes. Si el parámetro pCategory es NULL, el método no agrega los filtros ascendentes.
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 (incluye Dshow.h) |
Library | Strmiids.lib |