KeInvalidateRangeAllCaches, fonction (ntddk.h)

La routine KeInvalidateRangeAllCaches vide la plage d’adresses virtuelles spécifiée de tous les caches du 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 virtuelles spécifiée sur les caches de chaque processeur et marque le contenu de chaque cache non valide. Les caches du processeur sont assurés d’avoir terminé l’opération de vidage avant le retour de KeInvalidateRangeAllCaches .

Cette fonction est disponible sur toutes les plateformes et remplace KeInvalidateAllCaches. Certaines architectures, telles qu’Arm64, ne prennent pas en charge un moyen fiable de vider l’intégralité du cache. KeInvalidateAllCaches n’est donc pas disponible sur toutes les plateformes. Il est également beaucoup plus efficace de vider la plage de mémoire spécifique 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

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows Vista et les versions plus récentes 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