Compartilhar via


Método IStreamBuilder::Backout (strmif.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O Backout método desfaz as etapas executadas no método IStreamBuilder::Render . Isso inclui desconectar e remover todos os filtros que foram adicionados dentro da Renderização.

Sintaxe

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

Parâmetros

[in] ppinOut

Ponteiro para a interface IPin desse pino.

[in] pGraph

Ponteiro para a interface IGraphBuilder do Gerenciador de Grafo de Filtro.

Retornar valor

Retorna um valor HRESULT . Um código de retorno de S_OK indica ao construtor de grafos que a desconexão foi bem-sucedida.

Comentários

O exemplo a seguir mostra como um filtro reverteria as etapas mostradas no exemplo de código para o 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 com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho strmif.h (inclua Dshow.h)
Biblioteca Strmiids.lib

Confira também

Códigos de erro e êxito

IStreamBuilder Interface