FltSetInformationFile, fonction (fltkernel.h)
FltSetInformationFile définit des informations pour 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 d’instance opaque pour l’appelant. Ce paramètre est obligatoire et ne peut pas être NULL.
[in] FileObject
Pointeur d’objet de fichier pour le fichier. Ce paramètre est obligatoire et ne peut pas être NULL.
[in] FileInformation
Pointeur vers une mémoire tampon allouée par 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 changement de nom de fichier, consultez la section Remarques suivante. |
FileValidDataLengthInformation | Définissez FILE_VALID_DATA_LENGTH_INFORMATION pour le fichier. |
Valeur de retour
FltSetInformationFile retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée.
Remarques
Un pilote minifilter appelle FltSetInformationFile pour définir des informations pour 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.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
d’en-tête | fltkernel.h (include Fltkernel.h) |
bibliothèque | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |