IImageSink::PushPixelData

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

This method is used by an image source to pass image pixel data to the image sink.

Use this method if the pixel data buffer is obtained by some means other than by calling IImageSink::GetPixelDataBuffer.

Important

For best performance it may be best to use IImageSink::GetPixelDataBuffer to obtain the buffer. This is because IImageSink::GetPixelDataBuffer will align the buffer on a 128-byte boundary as required by some hardware decoders. If IImageSink::PushPixelData is used instead, that method will create a separate buffer that is 128-byte aligned and copy the pixel data to it. It does this even if the buffer passed to it by the image source is 128-byte aligned.

Syntax

HRESULT PushPixelData(
  const RECT*       rect,
  const BitmapData* bitmapData,
  BOOL              lastPass
);

Parameters

  • rect
    [in] A pointer to a RECT structure, specifying the dimensions of the image in pixels.
  • bitmapData
    [in] A pointer to a BitmapData object containing the pixel data for the image.
  • lastPass
    [in] A BOOL value that tells the sink whether this is the last pass over the specified image area.

    Set this value to TRUE if this call to IImageSink::PushPixelData is the last pass; otherwise, set to FALSE.

Return Value

If successful, this method returns S_OK.

This method may return E_NOTIMPL if it fails.

Remarks

You must call IImageSink::SetPalette prior to sending data to the sink.

A source should only call this method if the negotiated format returned from IImageSink::BeginSink was the image format identifier ImageFormatMemoryBMP. For more information, see Imaging GUIDs.

Requirements

Header imaging.h
Library Imaging.lib
Windows Embedded CE Windows CE 5.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

IImageSink
IImageSink::BeginSink
Imaging GUIDs
IImageSink::GetPixelDataBuffer
BitmapData

Other Resources

RECT