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 |
---|---|
|
Le fichier réside sur un volume protégé en écriture. Il s’agit d’un code d’erreur. |
|
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 |