CcPurgeCacheSection, fonction (ntifs.h)
La routine CcPurgeCacheSection vide tout ou partie d’un fichier mis en cache du cache système.
Syntaxe
BOOLEAN CcPurgeCacheSection(
[in] PSECTION_OBJECT_POINTERS SectionObjectPointer,
[in, optional] PLARGE_INTEGER FileOffset,
[in] ULONG Length,
ULONG Flags
);
Paramètres
[in] SectionObjectPointer
Pointeur vers une structure contenant les pointeurs d’objet de section de l’objet de fichier.
[in, optional] FileOffset
Pointeur vers une variable qui spécifie le décalage d’octets de départ dans le fichier mis en cache où les données doivent être vidées.
Si FileOffset a la valeur NULL, l’intégralité du fichier est vidée du cache.
Si FileOffset n’a pas la valeur NULL, seule la plage d’octets spécifiée par FileOffset et Length est vidée.
[in] Length
Longueur de la plage d’octets à vider, en commençant à FileOffset. Si Length est égal à zéro, la plage entre FileOffset et la fin du fichier est vidée. Si FileOffset a la valeur NULL, Length est ignoré.
Flags
Définissez sur TRUE pour annuler l’initialisation des mappages de cache privé pour le fichier avant de purger les données du fichier.
Valeur retournée
CcPurgeCacheSection retourne TRUE si les données du fichier mis en cache ont été correctement vidées, FALSE dans le cas contraire.
Remarques
Les systèmes de fichiers appellent CcPurgeCacheSection pour vider les données obsolètes du cache. Par exemple, lorsqu’un fichier est tronqué mais non supprimé, CcPurgeCacheSection doit être appelé pour vider toutes les données mises en cache qui ne font plus partie du fichier.
CcPurgeCacheSection ne videra pas les fichiers mappés.
Avant d’appeler CcPurgeCacheSection, l’appelant doit acquérir le fichier exclusivement et s’assurer qu’aucun thread, y compris l’appelant, n’a mappé ou épinglé une plage d’octets dans le fichier.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | ntifs.h (include Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |