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) |