RtlCopyMemory routine

The RtlCopyMemory routine copies the contents of a source memory block to a destination memory block.

Syntax


VOID RtlCopyMemory(
  _Out_       VOID UNALIGNED *Destination,
  _In_  const VOID UNALIGNED *Source,
  _In_        SIZE_T         Length
);

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

RtlCopyMemory runs faster than RtlMoveMemory. However, RtlCopyMemory requires that the source memory block, which is defined by Source and Length, cannot overlap the destination memory block, which is defined by Destination and Length. In contrast, RtlMoveMemory correctly handles the case in which the source and destination memory blocks overlap.

Callers of RtlCopyMemory 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

Target platform

Universal

Version

Available starting with Windows 2000.

Header

Wdm.h (include Wdm.h, Ntddk.h, or Ntifs.h)

Library

NtosKrnl.lib

DLL

NtDll.dll (user mode);
NtosKrnl.exe (kernel mode)

IRQL

Any level (See Remarks section)

See also

RtlMoveMemory

 

 

Send comments about this topic to Microsoft

Show: