Partager via


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

Voir aussi

CcFlushCache

CcInitializeCacheMap

CcIsFileCached

CcUninitializeCacheMap

MmFlushImageSection