Fonction ZwFlushBuffersFileEx (ntifs.h)
La routine ZwFlushBuffersFileEx est appelée par un pilote de filtre de système de fichiers pour envoyer une demande de vidage d’un fichier donné au système de fichiers. Un indicateur d’opération de vidage facultatif peut être défini pour contrôler la façon dont les données de fichier sont écrites dans le stockage.
Syntaxe
NTSYSAPI NTSTATUS ZwFlushBuffersFileEx(
[in] HANDLE FileHandle,
ULONG FLags,
PVOID Parameters,
ULONG ParametersSize,
[out] PIO_STATUS_BLOCK IoStatusBlock
);
Paramètres
[in] FileHandle
Handle retourné par ZwCreateFile ou ZwOpenFile pour le fichier dont les mémoires tampons seront vidées. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.
FLags
Indicateurs d’opération de vidage. Les indicateurs peuvent être 0 ou l’une des valeurs suivantes.
Parameters
Adresse du bloc d’E/S de l’appelant status. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.
ParametersSize
Taille, en octets, du bloc de paramètres.
[out] IoStatusBlock
Adresse du bloc d’E/S de l’appelant status. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.
Valeur retournée
ZwFlushBuffersFileEx retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :
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. |
|
Le fichier n’a ni accès en écriture ni en ajout. |
Remarques
Un pilote de filtre de système de fichiers peut appeler ZwFlushBuffersFileEx pour émettre une demande de IRP_MJ_FLUSH_BUFFERS au système de fichiers pour un fichier donné. L’opération de vidage est synchrone.
Les pilotes de minifiltre doivent appeler FltFlushBuffers au lieu d’appeler ZwFlushBuffersFileEx.
Les appelants de ZwFlushBuffersFileEx doivent être en cours d’exécution à IRQL = PASSIVE_LEVEL et avec des API de noyau spéciales activées.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8. |
Plateforme cible | Universal |
En-tête | ntifs.h (inclure Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (voir la section Remarques).) |
Voir aussi
Utilisation des versions Nt et Zw des routines natives des services système natifs