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 |