Partager via


Fonction FltFlushBuffers (fltkernel.h)

La routine FltFlushBuffers est utilisée par le pilote minifilter pour envoyer une demande de vidage d’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 instance opaque pour l’appelant. Ce paramètre est obligatoire et ne peut pas être NULL.

[in] FileObject

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

Valeur retournée

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

Code de retour 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 pour émettre une requête IRP_MJ_FLUSH_BUFFERS au système de fichiers pour un fichier donné. L’opération de vidage est synchrone et est émise aux instance sous l’instance spécifiée.

Si FileObject est destiné à 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 est destiné à un volume, le système de fichiers entraîne l’écriture des données de fichier et des métadonnées de tous les fichiers modifiés sur le volume, et la synchronisation du stockage sous-jacent pour vider son cache. Utilisez FltFlushBuffers2 pour contrôler de manière plus granulaire le type de vidage que le système de fichiers doit effectuer.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête fltkernel.h (inclure Fltkernel.h)
Bibliothèque FltMgr.lib
IRQL PASSIVE_LEVEL

Voir aussi

FltFlushBuffers2

IRP_MJ_FLUSH_BUFFERS