KeInvalidateRangeAllCaches-Funktion (ntddk.h)
Die KeInvalidateRangeAllCaches Routine löscht den angegebenen virtuellen Adressbereich aus allen Prozessorcaches.
Syntax
void KeInvalidateRangeAllCaches(
PVOID BaseAddress,
ULONG Length
);
Parameter
BaseAddress
Ein Zeiger auf die Basis des bereichs, der geleert werden soll.
Length
Die Größe des bereichs, der geleert werden soll, in Byte.
Rückgabewert
Nichts
Bemerkungen
Die KeInvalidateRangeAllCaches Routine löscht den angegebenen virtuellen Adressbereich auf den Caches jedes Prozessors und markiert den Inhalt jedes Caches ungültig. Die Prozessorcaches werden garantiert abgeschlossen, bevor KeInvalidateRangeAllCaches zurückgegeben wird.
Diese Funktion ist auf allen Plattformen verfügbar und ersetzt KeInvalidateAllCaches. Nicht alle Architekturen wie Arm64 unterstützen eine zuverlässige Möglichkeit, den gesamten Cache zu leeren, sodass KeInvalidateAllCaches nicht auf allen Plattformen verfügbar ist. Außerdem ist es wesentlich effizienter, den jeweiligen Speicherbereich zu leeren, der sich auf den gesamten Cacheinhalt auswirkt.
Diese Funktion löscht den Cache für alle virtuellen Zuordnungen desselben zugrunde liegenden physischen Speichers.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Windows Vista und höheren Versionen von Windows. |
mindestens unterstützte Server- | Verfügbar in Windows Server 2008 und höheren Versionen von Windows. |
Header- | ntddk.h |
IRQL- | <= DISPATCH_LEVEL |