MoveMemory function
Applies to: desktop apps only
Moves a block of memory from one location to another.
Syntax
void MoveMemory( __in PVOID Destination, __in const VOID *Source, __in SIZE_T Length );
Parameters
- Destination [in]
-
A pointer to the starting address of the move destination.
- Source [in]
-
A pointer to the starting address of the block of memory to be moved.
- Length [in]
-
The size of the block of memory to move, in bytes.
Return value
This function has no return value.
Remarks
This function is defined as the RtlMoveMemory function. Its implementation is provided inline. For more information, see Winbase.h and Winnt.h.
The source and destination blocks may overlap.
Security Remarks
The first parameter, Destination, must be large enough to hold Length bytes of Source; otherwise, a buffer overrun may occur. This may lead to a denial of service attack against the application if an access violation occurs or, in the worst case, allow an attacker to inject executable code into your process. This is especially true if Destination is a stack-based buffer. Be aware that the last parameter, Length, is the number of bytes to copy into Destination, not the size of the Destination.
Requirements
|
Minimum supported client | Windows XP |
|---|---|
|
Minimum supported server | Windows Server 2003 |
|
Header |
|
|
DLL |
|
See also
Send comments about this topic to Microsoft
Build date: 2/7/2012