CcCoherencyFlushAndPurgeCache, fonction (ntifs.h)
Les CcCoherencyFlushAndPurgeCache vidages et purges de routine, le cache pour garantir la cohérence du cache.
Syntaxe
void CcCoherencyFlushAndPurgeCache(
[in] PSECTION_OBJECT_POINTERS SectionObjectPointer,
[in, optional] PLARGE_INTEGER FileOffset,
[in] ULONG Length,
[out] PIO_STATUS_BLOCK IoStatus,
[in, optional] ULONG Flags
);
Paramètres
[in] SectionObjectPointer
Pointeur vers une structure SECTION_OBJECT_POINTERS qui contient les pointeurs d’objet de section de l’objet fichier.
[in, optional] FileOffset
Pointeur vers une variable qui spécifie le décalage d’octet de départ pour vider ou vider et vider.
[in] Length
Longueur en octets des données à vider ou vider, en commençant à FileOffset. Ce paramètre est ignoré si un pointeur NULL
[out] IoStatus
Pointeur vers une structure IO_STATUS_BLOCK allouée par l’appelant qui reçoit l’état d’achèvement final et les informations relatives à l’opération.
[in, optional] Flags
Masque de bits des indicateurs suivants qui spécifient la façon dont l’opération doit être effectuée :
Valeur | Signification |
---|---|
CC_FLUSH_AND_PURGE_NO_PURGE | Videz le cache, mais ne videz pas le cache. Cela est utile pour les vidages de cohérence en lecture. |
CC_FLUSH_AND_PURGE_GATHER_DIRTY_BITS | Réservé à l’utilisation du système ; n’utilisez pas. |
CC_FLUSH_AND_PURGE_WRITEABLE_VIEWS_NOTSEEN | L’appelant peut définir cet indicateur lorsqu’il n’existe aucun mappage au fichier en dehors du gestionnaire de cache, afin d’ignorer l’opération coûteuse de découpage ensembles de travail de processus. |
Valeur de retour
Aucun
Remarques
Utilisez CcCoherencyFlushAndPurgeCache lorsque c’est possible au lieu d’une séquence d’appel de vidage et de vidage explicite, car elle invalidera les vues mappées par l’utilisateur pour empêcher toute altération des données. CcCoherencyFlushAndPurgeCache garantit la cohérence du cache ; par conséquent, il n’existe aucune option pour effectuer une purge uniquement via cette fonction.
Le fichier doit être acquis exclusivement avant d’appeler CcCoherencyFlushAndPurgeCache.
Vous pouvez vider ou vider n’importe quelle plage d’octets dans un fichier à l’aide des paramètres FileOffset
Un appel à CcCoherencyFlushAndPurgeCache est une opération synchrone (bloquante), et non une opération asynchrone (non bloquante).
Une valeur IoStatus->Status de STATUS_CACHE_PAGE_LOCKED indique que l’invalidation de la page a échoué. N’oubliez pas que l’invalidation de la page peut échouer même si vous passez CC_FLUSH_AND_PURGE_NO_PURGE dans le paramètre indicateurs de
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 7 |
plateforme cible | Universel |
d’en-tête | ntifs.h (include Ntifs.h, FltKernel.h) |
bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |