Microsoft DirectX 8.1 (C++)

IAsyncReader Interface

The IAsyncReader interface is exposed by output pins that perform asynchronous read operations. The interface is used by the input pin on the downstream filter. Applications do not use this interface.

The Async File Source filter exposes this interface on its output pin. 

Filter developers: Implement this interface if your output pin delivers data in the form of a byte stream (MEDIATYPE_Stream) and supports the pull model. During the connection process, check whether the downstream pin queries for the IAsyncReader interface. If it does not, your pin should either fail the connection or establish some other transport. (If your pin derives from CBasePin, perform this check in the CBasePin::CheckConnect method.)

For more information about using this interface, see the following topics:

In addition to the methods inherited from IUnknown, the IAsyncReader interface exposes the following methods.

Method Description
BeginFlush Causes all outstanding reads to return.
EndFlush Ends the flushing operation.
Length Retrieves the total length of the stream, and the currently available length.
RequestAllocator Retrieves the actual allocator to be used.
Request Queues a request for data.
SyncReadAligned Performs an aligned synchronized read.
SyncRead Performs a synchronized read.
WaitForNext Blocks until the next sample is completed or the time-out occurs.