Partager via


Fonction FltSetInformationFile (fltkernel.h)

FltSetInformationFile définit les informations d’un fichier donné.

Syntaxe

NTSTATUS FLTAPI FltSetInformationFile(
  [in] PFLT_INSTANCE          Instance,
  [in] PFILE_OBJECT           FileObject,
  [in] PVOID                  FileInformation,
  [in] ULONG                  Length,
  [in] FILE_INFORMATION_CLASS FileInformationClass
);

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. Ce paramètre est obligatoire et ne peut pas être NULL.

[in] FileInformation

Pointeur vers une mémoire tampon allouée à l’appelant qui contient des informations à définir pour le fichier. Le paramètre FileInformationClass spécifie le type d’informations. Ce paramètre est obligatoire et ne peut pas être NULL.

[in] Length

Taille, en octets, de la mémoire tampon FileInformation .

[in] FileInformationClass

Spécifie le type d’informations à définir pour le fichier. Les valeurs suivantes sont définies.

Valeur Signification
FileAllocationInformation Définissez FILE_ALLOCATION_INFORMATION pour le fichier.
FileBasicInformation Définissez FILE_BASIC_INFORMATION pour le fichier.
FileDispositionInformation Définissez FILE_DISPOSITION_INFORMATION pour le fichier.
FileEndOfFileInformation Définissez FILE_END_OF_FILE_INFORMATION pour le fichier.
FileLinkInformation Définissez FILE_LINK_INFORMATION pour le fichier.
FilePositionInformation Définissez FILE_POSITION_INFORMATION pour le fichier.
FileRenameInformation Définissez FILE_RENAME_INFORMATION pour le fichier. Pour plus d’informations sur le renommage des fichiers, consultez la section Remarques suivante.
FileValidDataLengthInformation Définissez FILE_VALID_DATA_LENGTH_INFORMATION pour le fichier.

Valeur retournée

FltSetInformationFile retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée.

Remarques

Un pilote minifilter appelle FltSetInformationFile pour définir les informations d’un fichier donné. Le fichier doit actuellement être ouvert.

Une opération de renommage de fichier impose la restriction suivante sur les valeurs de paramètre passées à FltSetInformationFile : Comme indiqué dans l’entrée de référence pour FILE_RENAME_INFORMATION, un fichier ou un répertoire ne peut être renommé qu’au sein d’un volume. En d’autres termes, une opération de renommage ne peut pas entraîner le déplacement d’un fichier ou d’un répertoire vers un autre volume. Contrairement à ZwSetInformationFile, FltSetInformationFile ne valide pas le contenu de la structure FILE_RENAME_INFORMATION. Ainsi, l’appelant de FltSetInformationFile est chargé de s’assurer que le nouveau nom du fichier ou du répertoire se trouve sur le même volume que l’ancien nom.

Les pilotes Minifilter doivent utiliser FltSetInformationFile , et non ZwSetInformationFile, pour renommer un fichier.

Configuration requise

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

Voir aussi

FILE_ALLOCATION_INFORMATION

FILE_BASIC_INFORMATION

FILE_DISPOSITION_INFORMATION

FILE_END_OF_FILE_INFORMATION

FILE_LINK_INFORMATION

FILE_POSITION_INFORMATION

FILE_RENAME_INFORMATION

FILE_VALID_DATA_LENGTH_INFORMATION

FltQueryInformationFile

FltQueryVolumeInformationFile

ZwSetInformationFile