CcPurgeCacheSection, fonction (ntifs.h)
La routine CcPurgeCacheSection purge tout ou partie d’un fichier mis en cache à partir 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 purgées.
Si FileOffset est NULL, le fichier entier est vidé du cache.
Si FileOffset n’est pas NULL, seule la plage d’octets spécifiée par FileOffset et longueur est vidée.
[in] Length
Longueur de la plage d’octets à vider, en commençant à FileOffset. Si longueur est égale à zéro, la plage comprise entre FileOffset à la fin du fichier est vidée. Si FileOffset est NULL, longueur est ignorée.
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 de retour
CcPurgeCacheSection retourne TRUE si les données de fichier mises en cache ont été correctement purgées, FALSE sinon.
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 qu’il n’est pas supprimé, CcPurgeCacheSection doit être appelé pour vider les données mises en cache qui ne font plus partie du fichier.
CcPurgeCacheSection ne vide 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, a mappé ou épinglé une plage d’octets dans le fichier.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
d’en-tête | ntifs.h (include Ntifs.h) |
bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |