Compartilhar via


IImageSink::GetPixelDataBuffer

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 request that the image sink allocate a memory buffer for image pixel data.

Your image source must fill the buffer with the pixel data and then call IImageSink::ReleasePixelDataBuffer to pass the data to the image sink.

If the image source obtains a buffer for pixel data in some other way, it should call IImageSink::PushPixelData to pass the data to the image sink.

Important

For best performance use IImageSink::GetPixelDataBuffer to obtain the buffer because it 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 GetPixelDataBuffer(
  const RECT*   rect,
  PixelFormatID pixelFormat,
  BOOL          lastPass,
  BitmapData*   bitmapData
);

Parameters

  • rect
    [in] A pointer to a RECT structure specifying the dimensions of the buffer for the pixel data.
  • pixelFormat
    [in] A PixelFormatID value specifying the data format for the pixels in the buffer.
  • 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::GetPixelDataBuffer is the last pass; otherwise, set to FALSE.

  • bitmapData
    [out] A pointer to a BitmapData object representing the pixel data buffer.

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::PushPixelData
PixelFormatID
BitmapData
IImageSink::ReleasePixelDataBuffer

Other Resources

RECT