FltTagFileEx, fonction (fltkernel.h)
FltTagFileEx définit un point d’analyse sur un fichier ou un répertoire.
Syntaxe
NTSTATUS FLTAPI FltTagFileEx(
PFLT_INSTANCE InitiatingInstance,
PFILE_OBJECT FileObject,
ULONG FileTag,
GUID *Guid,
PVOID DataBuffer,
USHORT DataBufferLength,
ULONG ExistingFileTag,
GUID *ExistingGuid,
ULONG Flags
);
Paramètres
InitiatingInstance
Pointeur opaque vers l’instance de pilote minifilter qui a lancé cette requête d’E/S. Ce paramètre est obligatoire et ne peut pas être NULL.
FileObject
Pointeur vers l’objet de fichier pour le fichier ou le répertoire sur lequel définir un point d’analyse. L’objet fichier doit être ouvert pour FILE_WRITE_DATA accès. Ce paramètre est obligatoire et ne peut pas être NULL.
FileTag
Balise de point d’analyse. Il peut s’agir de l’une des valeursXXX IO_REPARSE_TAG_définies dans ntifs.h.
Guid
GUID qui identifie de façon unique le point d’analyse. Si fileTag est une balise non-Microsoft, ce paramètre est obligatoire et ne peut pas être NULL. Si une balise d’analyse existante est modifiée, le GUID spécifié dans ce paramètre doit correspondre au GUID du point d’analyse à modifier.
DataBuffer
Pointeur vers une mémoire tampon qui contient des données définies par l’utilisateur pour le point d’analyse.
DataBufferLength
Taille, en octets, de la mémoire tampon vers laquelle DataBuffer points.
ExistingFileTag
Balise existante sur le fichier si la balise doit être remplacée. Ce paramètre doit être défini sur zéro pour définir une balise d’analyse sur un fichier qui n’en a pas déjà.
ExistingGuid
GUID qui identifie de façon unique un point d’analyse existant. Si ExistingFileTag est une balise non-Microsoft et n’est pas zéro, ce paramètre ne doit pas être NULL.
Flags
Spécifie les indicateurs deXXX REPARSE_DATA_BUFFER_EX_ définis dans ntifs.h.
Valeur de retour
Cette fonction retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :
Retour du code | Description |
---|---|
STATUS_IO_REPARSE_TAG_MISMATCH | La valeur de balise spécifiée dans ExistingFileTag ne correspond pas à celle de la valeur de balise existante. |
STATUS_REPARSE_ATTRIBUTE_CONFLICT | Pour un point d’analyse existant avec une balise autre que Microsoft, ExistingFileTag correspond à la valeur de balise existante, mais le guid ne correspond pas au GUID existant. |
Remarques
Les pilotes minifilter doivent utiliser FltTagFileEx au lieu de FSCTL_SET_REPARSE_POINT_EX pour définir un point d’analyse.
Tous les systèmes de fichiers ne prennent pas en charge les points d’analyse ; par exemple, les systèmes de fichiers NTFS et ReFS les prennent en charge, mais le système de fichiers FAT ne les prend pas en charge. Les pilotes Minifilter peuvent déterminer si un système de fichiers prend en charge les points d’analyse en appelant FltQueryVolumeInformation, en spécifiant FileFsAttributeInformation pour le paramètre FsInformation et en examinant l’indicateur de bits FILE_SUPPORTS_REPARSE_POINTS dans la structure de FILE_FS_ATTRIBUTE_INFORMATION retournée.
Pour supprimer un point d’analyse existant, appelez FltUntagFile.
Pour plus d’informations sur les points d’analyse, consultez la documentation du Kit de développement logiciel (SDK) Microsoft Windows.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | fltkernel.h |