Функция KeInvalidateRangeAllCaches (ntddk.h)
Программа KeInvalidateRangeAllCaches очищает указанный диапазон виртуальных адресов от всех кэшей процессора.
Синтаксис
void KeInvalidateRangeAllCaches(
PVOID BaseAddress,
ULONG Length
);
Параметры
BaseAddress
Указатель на базу региона для очистки.
Length
Размер региона для очистки в байтах.
Возвращаемое значение
Никакой
Замечания
Программа KeInvalidateRangeAllCaches очищает указанный диапазон виртуальных адресов в кэшах каждого процессора и помечает содержимое каждого кэша недопустимым. Кэши процессора гарантированно завершили операцию очистки перед возвратом KeInvalidateRangeAllCaches.
Эта функция доступна на всех платформах и заменяет KeInvalidateAllCaches. Не все архитектуры, такие как Arm64, поддерживают надежный способ очистки всего кэша, поэтому KeInvalidateAllCaches недоступен на всех платформах. Это также значительно эффективнее для очистки определенного диапазона памяти, затронутого по сравнению со всем содержимым кэша.
Эта функция очищает кэш для всех виртуальных сопоставлений одной базовой физической памяти.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Windows Vista и более поздних версиях Windows. |
минимальный поддерживаемый сервер | Доступно в Windows Server 2008 и более поздних версиях Windows. |
заголовка | ntddk.h |
IRQL | <= DISPATCH_LEVEL |