IStreamBuilder::Backout
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