Compartir a través de


Método IStreamBuilder::Backout (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 Backout método deshace los pasos realizados en el método IStreamBuilder::Render . Esto incluye la desconexión y eliminación de los filtros que se agregaron dentro de Render.

Sintaxis

HRESULT Backout(
  [in] IPin          *ppinOut,
  [in] IGraphBuilder *pGraph
);

Parámetros

[in] ppinOut

Puntero a la interfaz IPin de este pin.

[in] pGraph

Puntero a la interfaz IGraphBuilder del Administrador de gráficos de filtros.

Valor devuelto

Devuelve un valor HRESULT . Un código de retorno de S_OK indica al generador de grafos que la desconexión se realizó correctamente.

Observaciones

En el ejemplo siguiente se muestra cómo un filtro invertiría los pasos que se muestran en el ejemplo de código del método IStreamBuilder::Render :

C++
STDMETHODIMP CMyOutputPin::BackOut(IPin *pPin, IGraphBuilder *pGraph)
{
    CheckPointer(pPin, E_POINTER);
    CheckPointer(pGraph, E_POINTER);

    HRESULT hr = S_OK;
    if (m_Connected != NULL) // Pointer to the pin we're connected to.
    {
        // Find the filter that owns the pin connected to us.
        FILTER_INFO fi;
        hr = m_Connected->QueryFilterInfo(&fi);
        if (SUCCEEDED(hr)) 
        {
            if (fi.pFilter != NULL) 
            {
                //  Disconnect the pins.
                pGraph->Disconnect(m_Connected);
                pGraph->Disconnect(pPin);
                // Remove the filter from the graph.
                pGraph->RemoveFilter(fi.pFilter);
                fi.pFilter->Release();
            } 
            else 
            {
                hr = E_UNEXPECTED;
            }
        }
    }
    return hr;
}

Requisitos

   
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

IStreamBuilder (interfaz)