VOID
RtlCopyMemory(
IN VOID UNALIGNED *Destination,
IN CONST VOID UNALIGNED *Source,
IN ULONG Length
);
RtlCopyMemory copies the contents of one buffer to another.
RtlCopyMemory runs faster than RtlMoveMemory. However, the (Source + Length) cannot overlap the Destination range passed in to RtlCopyMemory.
Callers of RtlCopyMemory can be running at any IRQL if both memory blocks are resident. Otherwise, the caller must be running at IRQL < DISPATCH_LEVEL.