IMemInputPin::ReceiveMultiple

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

This method returns the next block of data from the stream.

This method behaves much like the IMemInputPin::Receive method, but it works with multiple samples.

Syntax

HRESULT ReceiveMultiple(
  IMediaSample** pSamples,
  long nSamples,
  long* nSamplesProcessed
);

Parameters

  • pSamples
    [in] Pointer to an array of samples.
  • nSamples
    [in] Number of samples to process.
  • nSamplesProcessed
    [out] Number of samples processed.

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

This method allows a connected output pin to deliver multiple samples at one time.

Use it if, like COutputQueue, the output pin batches samples for delivery together.

Implement this if your filter can handle batched samples more efficiently than individual samples.

The base class implementation of this method calls IMemInputPin::Receive repeatedly. Override this implementation if you can do something more efficiently in your derived class.

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

See Also

Reference

IMemInputPin Interface