Partager via


KeInvalidateRangeAllCaches, fonction (ntddk.h)

La routine KeInvalidateRangeAllCaches vide la plage d’adresses virtuelle spécifiée à partir de tous les caches de processeur.

Syntaxe

void KeInvalidateRangeAllCaches(
  PVOID BaseAddress,
  ULONG Length
);

Paramètres

BaseAddress

Pointeur vers la base de la région à vider.

Length

Taille de la région à vider, en octets.

Valeur de retour

Aucun

Remarques

La KeInvalidateRangeAllCaches routine vide la plage d’adresses virtuelle spécifiée sur les caches de chaque processeur et marque le contenu de chaque cache non valide. Les caches de processeur sont assurés d’avoir terminé l’opération de vidage avant KeInvalidateRangeAllCaches retourne.

Cette fonction est disponible sur toutes les plateformes et remplace KeInvalidateAllCaches. Toutes les architectures, telles que Arm64, ne prennent pas en charge un moyen fiable de vider l’intégralité du cache. Par conséquent, KeInvalidateAllCaches n’est pas disponible sur toutes les plateformes. Il est également beaucoup plus efficace de vider la plage de mémoire particulière affectée que l’ensemble du contenu du cache.

Cette fonction vide le cache pour tous les mappages virtuels de la même mémoire physique sous-jacente.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows Vista et versions ultérieures de Windows.
serveur minimum pris en charge Disponible dans Windows Server 2008 et versions ultérieures de Windows.
d’en-tête ntddk.h
IRQL <= DISPATCH_LEVEL

Voir aussi

KeInvalidateAllCaches