Partager via


IPin::BeginFlush (Compact 2013)

3/26/2014

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

Header

dshow.h

Library

Strmiids.lib

See Also

Reference

IPin Interface