Функция KeInvalidateRangeAllCaches (ntddk.h)

Подпрограмма KeInvalidateRangeAllCaches очищает указанный диапазон виртуальных адресов из всех кэшей процессора.

Синтаксис

void KeInvalidateRangeAllCaches(
  PVOID BaseAddress,
  ULONG Length
);

Параметры

BaseAddress

Указатель на основание области для очистки.

Length

Размер очищаемой области в байтах.

Возвращаемое значение

None

Remarks

Подпрограмма KeInvalidateRangeAllCaches очищает указанный диапазон виртуальных адресов в кэшах каждого процессора и помечает содержимое каждого кэша как недопустимое. Кэши процессора гарантированно завершают операцию очистки до возврата KeInvalidateRangeAllCaches .

Эта функция доступна на всех платформах и заменяет KeInvalidateAllCaches. Не все архитектуры, такие как Arm64, поддерживают надежный способ очистки всего кэша, поэтому KeInvalidateAllCaches доступен не на всех платформах. Кроме того, значительно эффективнее очищать конкретный затронутый диапазон памяти, чем все содержимое кэша.

Эта функция очищает кэш для всех виртуальных сопоставлений одной и той же базовой физической памяти.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях Windows.
Минимальная версия сервера Доступно в Windows Server 2008 и более поздних версиях Windows.
Верхняя часть ntddk.h
IRQL <= DISPATCH_LEVEL

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

KeInvalidateAllCaches