RtlMoveMemory - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// wdm.h

void RtlMoveMemory(
   void*       Destination,
   const void* Source,
   size_t      Length
);
View the official Windows Driver Kit DDI reference
// wdm.h

VOID RtlMoveMemory(
  _Out_       VOID UNALIGNED *Destination,
  _In_  const VOID UNALIGNED *Source,
  _In_        SIZE_T         Length
);
View the official Win32 development documentation

NtDoc

No description available.

Windows Driver Kit DDI reference (nf-wdm-rtlmovememory)

Description

The RtlMoveMemory routine copies the contents of a source memory block to a destination memory block, and supports overlapping source and destination memory blocks.

Parameters

Destination [out]

A pointer to the destination memory block to copy the bytes to.

Source [in]

A pointer to the source memory block to copy the bytes from.

Length [in]

The number of bytes to copy from the source to the destination.

Syntax

void RtlMoveMemory(
   void*       Destination,
   const void* Source,
   size_t      Length
);

Remarks

The source memory block, which is defined by Source and Length, can overlap the destination memory block, which is defined by Destination and Length.

The RtlCopyMemory routine runs faster than RtlMoveMemory, but RtlCopyMemory requires that the source and destination memory blocks do not overlap.

Callers of RtlMoveMemory can be running at any IRQL if the source and destination memory blocks are in nonpaged system memory. Otherwise, the caller must be running at IRQL <= APC_LEVEL.

See also

RtlCopyMemory


Win32 development documentation (rtlmovememory)

RtlMoveMemory function

Copies the contents of a source memory block to a destination memory block, and supports overlapping source and destination memory blocks.

Parameters

Destination [out]

A pointer to the destination memory block to copy the bytes to.

Source [in]

A pointer to the source memory block to copy the bytes from.

Length [in]

The number of bytes to copy from the source to the destination.

Return value

None

Remarks

The source memory block, which is defined by Source and Length, can overlap the destination memory block, which is defined by Destination and Length.

The RtlCopyMemory routine runs faster than RtlMoveMemory, but RtlCopyMemory requires that the source and destination memory blocks do not overlap.

Callers of RtlMoveMemory can be running at any IRQL if the source and destination memory blocks are in nonpaged system memory. Otherwise, the caller must be running at IRQL <= APC_LEVEL.

Requirements

Requirement Value
Minimum supported client
Windows 2000 Professional [desktop apps only]
Minimum supported server
Windows 2000 Server [desktop apps only]
Target platform
Universal
Header
Wdm.h (include Wdm.h, Ntddk.h, or Ntifs.h)
Library
Ntdll.lib
DLL
Ntdll.dll

See also

RtlCopyMemory