Partager via


FltFlushBuffers, fonction (fltkernel.h)

La routine FltFlushBuffers est utilisée par le pilote minifilter pour envoyer une demande de vidage pour un fichier donné au système de fichiers. Utilisez FltFlushBuffers2 pour spécifier différentes options de type de vidage.

Syntaxe

NTSTATUS FLTAPI FltFlushBuffers(
  [in] PFLT_INSTANCE Instance,
  [in] PFILE_OBJECT  FileObject
);

Paramètres

[in] Instance

Pointeur d’instance opaque pour l’appelant. Ce paramètre est obligatoire et ne peut pas être NULL.

[in] FileObject

Pointeur d’objet de fichier à vider. Ce paramètre est obligatoire et ne peut pas être NULL.

Valeur de retour

FltFlushBuffers retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, comme l’une des valeurs suivantes :

Retourner le code Description
STATUS_MEDIA_WRITE_PROTECTED
Le fichier réside sur un volume protégé en écriture. Il s’agit d’un code d’erreur.
STATUS_VOLUME_DISMOUNTED
Le fichier réside sur un volume qui n’est pas monté actuellement. Il s’agit d’un code d’erreur.

Remarques

Un pilote minifilter peut appeler FltFlushBuffers émettre une demande de IRP_MJ_FLUSH_BUFFERS au système de fichiers pour un fichier donné. L’opération de vidage est synchrone et est émise à l’instance sous la ou les instances spécifiées Instance.

Si FileObject concerne un fichier, les données et métadonnées du fichier dans le cache de fichiers sont écrites et le stockage sous-jacent est synchronisé pour vider son cache. Si fileObject concerne un volume, le système de fichiers entraîne l’écriture des données de fichier et des métadonnées pour tous les fichiers modifiés du volume, et le stockage sous-jacent doit être synchronisé pour vider son cache. Utilisez FltFlushBuffers2 pour contrôler plus précisément le type de vidage que le système de fichiers doit effectuer.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête fltkernel.h (include Fltkernel.h)
bibliothèque FltMgr.lib
IRQL PASSIVE_LEVEL

Voir aussi

FltFlushBuffers2

IRP_MJ_FLUSH_BUFFERS