ID2D1Bitmap::CopyFromMemory method (d2d1.h)

Copies the specified region from memory into the current bitmap.


HRESULT CopyFromMemory(
  [in, optional] const D2D1_RECT_U *dstRect,
  [in]           const void        *srcData,
                 UINT32            pitch


[in, optional] dstRect

Type: const D2D1_RECT_U*

In the current bitmap, the rectangle to which the region specified by srcRect is copied.

[in] srcData

Type: const void*

The data to copy.


Type: UINT32

The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding.

Return value


If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.


This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match.

If this method is passed invalid input (such as an invalid destination rectangle), can produce unpredictable results, such as a distorted image or device failure.

Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing HRESULT and tag state will be returned at the next call to EndDraw or Flush.

Starting with Windows 8.1, this method supports block compressed bitmaps. If you are using a block compressed format, the end coordinates of the srcRect parameter must be multiples of 4 or the method returns E_INVALIDARG.


Minimum supported client Windows 7, Windows Vista with SP2 and Platform Update for Windows Vista [desktop apps | UWP apps]
Minimum supported server Windows Server 2008 R2, Windows Server 2008 with SP2 and Platform Update for Windows Server 2008 [desktop apps | UWP apps]
Target Platform Windows
Header d2d1.h
Library D2d1.lib
DLL D2d1.dll

See also