Metodo IStreamBuilder::Backout (strmif.h)

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il Backout metodo annulla i passaggi eseguiti nel metodo IStreamBuilder::Render . Ciò include la disconnessione e la rimozione di tutti i filtri aggiunti all'interno del rendering.

Sintassi

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

Parametri

[in] ppinOut

Puntatore all'interfaccia IPin di questo pin.

[in] pGraph

Puntatore all'interfaccia IGraphBuilder di Filter Graph Manager.

Valore restituito

Restituisce un valore HRESULT . Un codice restituito di S_OK indica al generatore di grafici che la disconnessione ha avuto esito positivo.

Commenti

Nell'esempio seguente viene illustrato come un filtro inverte i passaggi visualizzati nell'esempio di codice per il metodo 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;
}

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione strmif.h (include Dshow.h)
Libreria Strmiids.lib

Vedi anche

Codici errore e esito positivo

Interfaccia IStreamBuilder