Método IGraphBuilder::AddSourceFilter (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 AddSourceFilter
método agrega un filtro de origen para un archivo especificado al gráfico de filtros.
Sintaxis
HRESULT AddSourceFilter(
[in] LPCWSTR lpcwstrFileName,
[in] LPCWSTR lpcwstrFilterName,
[out] IBaseFilter **ppFilter
);
Parámetros
[in] lpcwstrFileName
Especifica el nombre del archivo que se va a cargar.
[in] lpcwstrFilterName
Especifica un nombre para el filtro de origen.
[out] ppFilter
Recibe un puntero a la interfaz IBaseFilter del filtro. El autor de la llamada debe liberar la interfaz .
Valor devuelto
Devuelve un VALOR HRESULT. Estos son algunos de los valores posibles.
Código devuelto | Descripción |
---|---|
|
Correcto. |
|
El filtro de origen no admite la interfaz IFileSourceFilter . |
|
Memoria insuficiente. |
|
Argumento de puntero NULL. |
|
No se pudo cargar el filtro de origen de este archivo. |
|
Archivo o objeto no encontrado. |
|
No se reconoció el tipo de medio de este archivo. |
Comentarios
Este método busca un filtro instalado que pueda leer el archivo especificado. Si encuentra uno, el método lo agrega al gráfico de filtros y devuelve un puntero a la interfaz IBaseFilter del filtro. Para determinar el tipo de medio y el esquema de compresión del archivo, el Administrador de gráficos de filtros lee los primeros bytes del archivo, buscando patrones específicos de bytes, como se documenta en el artículo Registro de un tipo de archivo personalizado.
La aplicación es responsable de compilar el resto del gráfico de filtros. Para ello, llame a IBaseFilter::EnumPins para enumerar los pins de salida en el filtro de origen. A continuación, use el método IGraphBuilder::Connect o el método IGraphBuilder::Render .
Si el método se ejecuta correctamente, la interfaz IBaseFilter tiene un recuento de referencias pendiente. El autor de la llamada debe liberar la interfaz .
Para representar un archivo para la reproducción predeterminada, use el método IGraphBuilder::RenderFile .
El Administrador de gráficos de filtros contiene un recuento de referencias en el filtro hasta que se quita el filtro del gráfico o se libera el Administrador de gráficos de filtros.
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 |