Export (0) Print
Expand All
Expand Minimize
This topic has not yet been rated - Rate this topic

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.

Windows Phone 8.1: This API is supported.


Minimum supported client

Windows Vista [desktop apps | Windows Store apps]

Minimum supported server

Windows Server 2008 [desktop apps | Windows Store apps]







See also

Media Foundation Functions
Image Stride
Media Types



Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

© 2014 Microsoft. All rights reserved.