IPin::BeginFlush
A version of this page is also available for
4/8/2010
This method informs the pin to begin a flush operation.
Syntax
HRESULT BeginFlush(void);
Parameters
None.
Return Value
Returns an HRESULT value that depends on the implementation.
HRESULT can be one of the following standard constants, or other values not listed.
Value | Description |
---|---|
E_FAIL |
Failure. |
E_POINTER |
Null pointer argument. |
E_INVALIDARG |
Invalid argument. |
E_NOTIMPL |
Method is not supported. |
S_OK or NOERROR |
Success. |
Remarks
When this method is called, the pin is entering flush state. In this case, carry out the following steps.
Set a flushing flag to prevent any more IMemInputPin::Receive methods from succeeding.
Discard any queued data.
Free the pin if it was blocked by the Receive method, if possible.
Pass the IPin::BeginFlush method to any downstream pins.
The BeginFlush notification is passed downstream until it reaches the renderer, which must free any sample it holds. This unblocks other pins (usually in the IMemAllocator::GetBuffer or IMemInputPin::Receive methods).
After BeginFlush is called, all samples passed by the Receive method to the pin, or on another transport, are rejected with S_FALSE until the IPin::EndFlush method is called.
This method is implemented in the base classes by CBaseInputPin::BeginFlush.
Requirements
Windows Embedded CE | Windows CE 2.12 and later |
Windows Mobile | Pocket PC for Windows Mobile Version 5.0 and later, Smartphone for Windows Mobile Version 5.0 and later |
Note | Microsoft DirectShow applications and DirectShow filters have different include file and Library requirements For more information, see Setting Up the Build Environment, Version 2.12 requires DXPAK 1.0 or later |