Функция RtlCopyMemoryNonTemporal (wdm.h)
Эта функция копирует содержимое из одного буфера в другой с помощью невременных перемещений, которые не загрязняют кэш. Обратите внимание, что буферы не должны перекрываться.
Синтаксис
NTSYSAPI VOID RtlCopyMemoryNonTemporal(
VOID *Destination,
const VOID *Source,
SIZE_T Length
);
Параметры
Destination
Указатель на целевой блок памяти, в который копируются байты.
Source
Указатель на исходный блок памяти для копирования байтов.
Length
Число байтов для копирования из источника в место назначения.
Возвращаемое значение
Нет.
Remarks
RtlCopyMemoryNonTemporal выполняет не темпоральное копирование только для систем на базе x64 и только в том случае, если параметр Length равен 8 байтам или больше. В противном случае эта функция эквивалентна RtlCopyMemory.
Вызывающие элементы RtlCopyMemoryNonTemporal могут выполняться в любом irQL, если исходный и целевой блоки памяти находятся в системной памяти без загрузки. В противном случае вызывающий объект должен выполняться в irQL <= APC_LEVEL.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows 2003 и более поздних версиях. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h |
DLL | NtDll.lib (пользовательский режим); NtosKrnl.lib (режим ядра) |
IRQL | Любой уровень (см. раздел "Примечания") |