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 |