KeInvalidateRangeAllCaches, fonction (ntddk.h)

La routine KeInvalidateRangeAllCaches vide la plage d’adresses virtuelles spécifiée 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

None

Remarques

La routine KeInvalidateRangeAllCaches 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 garantis d’avoir terminé l’opération de vidage avant que KeInvalidateRangeAllCaches ne 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, de sorte que 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.

Configuration requise

   
Client minimal pris en charge Disponible dans Windows Vista et versions ultérieures de Windows.
Serveur minimal pris en charge Disponible dans Windows Server 2008 et versions ultérieures de Windows.
En-tête ntddk.h
IRQL <= DISPATCH_LEVEL

Voir aussi

KeInvalidateAllCaches