Freigeben über


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 zu leerenden Bereichs.

Length

Die Größe des zu leerenden Bereichs in Bytes.

Rückgabewert

Keine

Bemerkungen

Die KeInvalidateRangeAllCaches-Routine leert den angegebenen virtuellen Adressbereich in den Caches jedes Prozessors und markiert den Inhalt jedes Caches als ungültig. Die Prozessorcaches haben garantiert den Leerungsvorgang 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 betroffenen Speicherbereich zu leeren als der gesamte Cacheinhalt.

Diese Funktion leert den Cache für alle virtuellen Zuordnungen desselben zugrunde liegenden physischen Speichers.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows Vista und späteren Windows-Versionen.
Unterstützte Mindestversion (Server) Verfügbar in Windows Server 2008 und höheren Versionen von Windows.
Kopfzeile ntddk.h
IRQL <= DISPATCH_LEVEL

Weitere Informationen

KeInvalidateAllCaches