Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
| Microsoft DirectShow 9.0 |
IStreamBuilder::Backout
The Backout method undoes steps taken in the IStreamBuilder::Render method. This includes disconnecting and removing any filters that were added inside Render.
Syntax
HRESULT Backout( IPin *ppinOut, IGraphBuilder *pGraph )
Parameters
ppinOut
[in] Pointer to the IPin interface of this pin.
pGraph
[in] Pointer to the IGraphBuilder interface of the Filter Graph Manager.
Return Value
Returns an HRESULT value. A return code of S_OK indicates to the graph builder that the disconnect was successful.
Remarks
The following example shows how a filter would reverse the steps that are shown in the code example for the IStreamBuilder::Render method:
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;
}
Requirements
Header: Declared in Strmif.h; include Dshow.h.
Library: Use Strmiids.lib.
See Also