Fonction MmFlushImageSection (ntifs.h)

La routine MmFlushImageSection vide la section d’image d’un fichier.

Syntaxe

BOOLEAN MmFlushImageSection(
       PSECTION_OBJECT_POINTERS SectionObjectPointer,
  [in] MMFLUSH_TYPE             FlushType
);

Paramètres

SectionObjectPointer

Pointeur vers une structure qui contient les pointeurs d’objet de section de l’objet fichier.

[in] FlushType

Spécifie la raison de l’opération de vidage. Il peut s’agir de l’une des valeurs répertoriées dans le tableau suivant.

Valeur FlushType Signification
MmFlushForDelete Le fichier est en cours de suppression.
MmFlushForWrite Le fichier est ouvert pour l’accès en écriture.

Valeur retournée

MmFlushImageSection retourne TRUE si l’opération de vidage réussit ou si aucune section d’image n’existe pour le fichier ; Sinon , MmFlushImageSection retourne FALSE.

Note Si la valeur FlushType MmFlushForDelete est spécifiée et qu’il existe une ou plusieurs sondes d’écriture en attente dans la section de données du fichier, MmFlushImageSection retourne FALSE.
 

Remarques

Un système de fichiers doit appeler la routine MmFlushImageSection avant de supprimer un fichier ou d’ouvrir un fichier pour un accès en écriture.

Avant de supprimer un fichier, le système de fichiers doit appeler MmFlushImageSection à partir de son IRP_MJ_SET_INFORMATION ou IRP_MJ_CLEANUP routine de distribution, en passant MmFlushForDelete pour le paramètre FlushType .

Lors de l’ouverture d’un fichier pour l’accès en écriture, le système de fichiers doit appeler MmFlushImageSection à partir de sa routine de distribution IRP_MJ_CREATE, en passant MmFlushForWrite pour le paramètre FlushType .

S’il n’existe aucune vue mappée de la section image, MmFlushImageSection détruit la section d’image et retourne toutes les pages utilisées à la liste libre.

Avant d’utiliser MmFlushImageSection, les enregistreurs de système de fichiers sont fortement encouragés à étudier la façon dont cette routine est utilisée dans l’exemple FASTFAT.

Configuration requise

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

Voir aussi

CcPurgeCacheSection