Método IBaseFilter::JoinFilterGraph (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 JoinFilterGraph método notifica al filtro que ha unido o dejado el gráfico de filtros.

Sintaxis

HRESULT JoinFilterGraph(
  [in] IFilterGraph *pGraph,
  [in] LPCWSTR      pName
);

Parámetros

[in] pGraph

Puntero a la interfaz IFilterGraph del Administrador de gráficos de filtros o NULL si el filtro sale del gráfico.

[in] pName

Puntero a una cadena de caracteres anchos que especifica un nombre para el filtro.

Valor devuelto

Devuelve S_OK si se ejecuta correctamente o un valor HRESULT que indica la causa del error.

Comentarios

Cuando el Administrador de gráficos de filtros agrega un filtro al gráfico de filtros, llama a este método con un puntero a sí mismo. Asigna un nombre para esta instancia del filtro a través del parámetro pName . El nombre se puede recuperar llamando al método IBaseFilter::QueryFilterInfo .

Cuando el Administrador de gráficos de filtros quita el filtro del gráfico, llama a este método con un puntero NULL .

Las aplicaciones nunca deben llamar a este método. Para agregar un filtro al grafo, llame al método IFilterGraph::AddFilter en el administrador de gráficos de filtros.

Programadores de filtros: el filtro puede almacenar el puntero de la interfaz IFilterGraph y consultarlo para otras interfaces de Filter Graph Manager. Sin embargo, nunca debe contener un recuento de referencias en el Administrador de gráficos de filtros. Al hacerlo, se crea un recuento de referencias circulares, ya que El Administrador de gráficos de filtros mantiene un recuento de referencias en el filtro. Un recuento de referencias circulares impide que la interfaz se libere correctamente, lo que puede provocar un interbloqueo. Se garantiza que la interfaz IFilterGraph es válida hasta que el Administrador de gráficos de filtros vuelva a llamar a este método con el valor NULL. Para obtener una implementación de este método, vea el método CBaseFilter::JoinFilterGraph .

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

Consulte también

Códigos de error y éxito

IBaseFilter (interfaz)