Функция 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 |