Fonction CcFlushCache (ntifs.h)

La routine CcFlushCache vide la totalité ou une partie d’un fichier mis en cache sur le disque.

Syntaxe

void CcFlushCache(
  [in]            PSECTION_OBJECT_POINTERS SectionObjectPointer,
  [in, optional]  PLARGE_INTEGER           FileOffset,
  [in]            ULONG                    Length,
  [out, optional] PIO_STATUS_BLOCK         IoStatus
);

Paramètres

[in] SectionObjectPointer

Pointeur vers une structure de SECTION_OBJECT_POINTERS 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’octet de début dans le fichier mis en cache où les données doivent être vidées.

Si FileOffset a la valeur NULL, le fichier entier est vidé 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 par FileOffset. Si FileOffset a lavaleur NULL, La longueur est ignorée.

[out, optional] IoStatus

Pointeur vers une structure qui reçoit l’achèvement final status et des informations sur l’opération de vidage. Si les données sont vidées correctement, IoStatus.Status contient STATUS_SUCCESS. Si toutes les données ne sont pas vidées correctement, IoStatus.Information contient le nombre réel d’octets qui ont été vidés. Sinon, IoStatus.Information contient la valeur donnée dans Length.

Valeur de retour

None

Remarques

CcFlushCache n’a pas de paramètre Wait . Par conséquent, l’appelant doit être en mesure d’entrer un état d’attente jusqu’à ce que toutes les données soient vidées.

Pour mettre en cache un fichier, utilisez CcInitializeCacheMap.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête ntifs.h (inclure Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe

Voir aussi

CcCopyWrite

CcInitializeCacheMap

CcIsFileCached

CcPurgeCacheSection