Copies a block of memory from one location to another.
Syntax
C++
void CopyMemory(
__in PVOID Destination,
__in const VOID *Source,
__in SIZE_T Length
);
Parameters
- Destination [in]
- A pointer to the starting address of the copied block's destination. Source [in]
- A pointer to the starting address of the block of memory to copy. Length [in]
- The size of the block of memory to copy, in bytes.
Examples
The following code example shows a safer way to use CopyMemory. Alternatively, you could use the memcpy_s or wmemcpy_s function.
C++
#include <windows.h> #include <tchar.h> #include <stdio.h> #define BUFFER_SIZE 1024 #define COPY_SIZE 512 /* MyCopyMemory - A wrapper for CopyMemory buf - destination buffer pbData - source buffer cbData - size of block to copy, in bytes bufsize - size of the destination buffer */ void MyCopyMemory(TCHAR *buf, TCHAR *pbData, SIZE_T cbData, SIZE_T bufsize) { CopyMemory(buf, pbData, min(cbData,bufsize)); } void main() { TCHAR buf[BUFFER_SIZE] = TEXT("This is the destination"); TCHAR pbData[BUFFER_SIZE] = TEXT("This is the source"); MyCopyMemory(buf, pbData, COPY_SIZE*sizeof(TCHAR), BUFFER_SIZE*sizeof(TCHAR)); _tprintf(TEXT("Destination buffer contents: %s\n"), buf); }