Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

Retrieves the next block of data from the stream.

Syntax

HRESULT Receive(
  IMediaSample* 
pSample
);

Parameters

pSample

Pointer to a media sample.

Return Value

Returns an HRESULTvalue.

Remarks

This member function implements the IMemInputPin::Receivemethod.

It first checks that it can process the sample by calling CBaseInputPin::CheckStreaming; if that member function does not return S_OK, Receivereturns immediately with the value returned by CBaseInputPin::CheckStreaming.

This base class member function checks to see if the format has changed with this media sample; if so, it checks that the filter will accept it, generating a run-time error if not.

If a run-time error is raised, the m_bRunTimeErrordata member is set so that no more samples will be accepted.

The overriding member function does something with the passed-in sample, such as calling a member function to transform it or pass it downstream.

This is a blocking synchronous call. Typically no blocking occurs, but if a filter cannot process the sample immediately, it can use the calling application's thread to wait until it can.

Call the IUnknown::AddRefmethod if you must hold the returned data block beyond the completion of the IMemInputPin::Receivemethod. If you call AddRef, be sure to call IUnknown::Releasewhen done with it.

Requirements

Windows Embedded CE Windows CE 2.12 and later
Windows Mobile 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