Поделиться через


Макрос 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 Любой уровень (см. раздел "Примечания")

См. также раздел

RtlMoveMemory