Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

MFCopyImage function

Copies an image or image plane from one buffer to another.


  _In_       BYTE  *pDest,
  _In_       LONG  lDestStride,
  _In_ const BYTE  *pSrc,
  _In_       LONG  lSrcStride,
  _In_       DWORD dwWidthInBytes,
  _In_       DWORD dwLines


pDest [in]

Pointer to the start of the first row of pixels in the destination buffer.

lDestStride [in]

Stride of the destination buffer, in bytes.

pSrc [in]

Pointer to the start of the first row of pixels in the source image.

lSrcStride [in]

Stride of the source image, in bytes.

dwWidthInBytes [in]

Width of the image, in bytes.

dwLines [in]

Number of rows of pixels to copy.

Return value

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


This function copies a single plane of the image. For planar YUV formats, you must call the function once for each plane. In this case, pDest and pSrc must point to the start of each plane.

This function is optimized if the MMX, SSE, or SSE2 instruction sets are available on the processor. The function performs a non-temporal store (the data is written to memory directly without polluting the cache).

Note  Prior to Windows 7, this function was exported from evr.dll. Starting in Windows 7, this function is exported from mfplat.dll, and evr.dll exports a stub function that calls into mfplat.dll. For more information, see Library Changes in Windows 7.


Minimum supported client

Windows Vista [desktop apps | Windows Store apps]

Minimum supported server

Windows Server 2008 [desktop apps | Windows Store apps]

Minimum supported phone

Windows Phone 8.1







See also

Media Foundation Functions
Image Stride
Media Types



© 2017 Microsoft