RtlMoveMemory

VOID
    RtlMoveMemory(

        IN PVOID  Destination,
        IN CONST VOID  *Source,
        IN ULONG  Length
        );

RtlMoveMemory moves memory either forward or backward, aligned or unaligned, in 4-byte blocks, followed by any remaining bytes.

Parameters

Destination
Points to the destination of the move.
Source
Points to the memory to be copied.
Length
Specifies the number of bytes to be copied.

Comments

The (Source + Length) can overlap the Destination range passed in to RtlMoveMemory.

Callers of RtlMoveMemory can be running at any IRQL if both memory blocks are resident. Otherwise, the caller must be running at IRQL < DISPATCH_LEVEL.

See Also

RtlCopyMemory