Макрос RtlCopyMemory (wdm.h)
Подпрограмма RtlCopyMemory копирует содержимое исходного блока памяти в целевой блок памяти.
Синтаксис
void RtlCopyMemory(
void* Destination,
const void* Source,
size_t Length
);
Параметры
[out] Destination
Указатель на целевой блок памяти, в который копируются байты.
[in] Source
Указатель на блок памяти источника для копирования байтов.
[in] Length
Число байтов для копирования из источника в место назначения.
Возвращаемое значение
None
Remarks
RtlCopyMemory выполняется быстрее , чем RtlMoveMemory. Однако для RtlCopyMemory требуется, чтобы блок исходной памяти, определяемый параметрами Source и Length, не перекрывал блок памяти назначения, который определяется параметрами Destination и Length. В отличие от этого, RtlMoveMemory правильно обрабатывает ситуацию, в которой блоки памяти источника и назначения перекрываются.
Новые драйверы должны использовать подпрограмму RtlCopyMemory вместо RtlCopyBytes.
Вызывающие элементы RtlCopyMemory могут выполняться в любой среде IRQL, если исходный и целевой блоки памяти находятся в системной памяти без загрузки. В противном случае вызывающий объект должен работать в среде IRQL <= APC_LEVEL.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtDll.dll (пользовательский режим); NtosKrnl.exe (режим ядра) |
IRQL | Любой уровень (см. раздел "Примечания") |