Freigeben über


RtlCopyMemory-Makro (wdm.h)

Die RtlCopyMemory-Routine kopiert den Inhalt eines Quellspeicherblocks in einen Zielspeicherblock.

Syntax

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

Parameter

[out] Destination

Ein Zeiger auf den Zielspeicherblock, in den die Bytes kopiert werden sollen.

[in] Source

Ein Zeiger auf den Quellspeicherblock, aus dem die Bytes kopiert werden sollen.

[in] Length

Die Anzahl der Bytes, die von der Quelle an das Ziel kopiert werden sollen.

Rückgabewert

Keine

Bemerkungen

RtlCopyMemory läuft schneller als RtlMoveMemory. RtlCopyMemory erfordert jedoch, dass der Quellspeicherblock, der durch Quelle und Länge definiert ist, nicht den Zielspeicherblock überlappen kann, der durch Ziel und Länge definiert ist. Im Gegensatz dazu behandelt RtlMoveMemory korrekt den Fall, in dem sich die Quell- und Zielspeicherblöcke überlappen.

Neue Treiber sollten die RtlCopyMemory-Routine anstelle von RtlCopyBytes verwenden.

Aufrufer von RtlCopyMemory können in jedem IRQL ausgeführt werden, wenn sich die Quell- und Zielspeicherblöcke im nicht auslagerten Systemspeicher befinden. Andernfalls muss der Aufrufer unter IRQL <= APC_LEVEL ausgeführt werden.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtDll.dll (Benutzermodus); NtosKrnl.exe (Kernelmodus)
IRQL Beliebige Ebene (siehe Abschnitt Hinweise)

Weitere Informationen

RtlMoveMemory