IImageSink::PushPixelData
A version of this page is also available for
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