FltTagFileEx-Funktion (fltkernel.h)
FltTagFileEx legt einen Analysepunkt für eine Datei oder ein Verzeichnis fest.
Syntax
NTSTATUS FLTAPI FltTagFileEx(
PFLT_INSTANCE InitiatingInstance,
PFILE_OBJECT FileObject,
ULONG FileTag,
GUID *Guid,
PVOID DataBuffer,
USHORT DataBufferLength,
ULONG ExistingFileTag,
GUID *ExistingGuid,
ULONG Flags
);
Parameter
InitiatingInstance
Undurchsichtiger Zeiger auf die Minifiltertreiberinstanz, die diese E/A-Anforderung initiiert hat. Dieser Parameter ist erforderlich und kann nicht NULL-werden.
FileObject
Zeigen Sie auf das Dateiobjekt für die Datei oder das Verzeichnis, für die ein Analysepunkt festgelegt werden soll. Das Dateiobjekt muss für FILE_WRITE_DATA Zugriff geöffnet werden. Dieser Parameter ist erforderlich und kann nicht NULL-werden.
FileTag
Analysepunkttag. Dies kann eine der IO_REPARSE_TAG_XXX- Werte sein, die in ntifs.hdefiniert sind.
Guid
GUID, die den Analysepunkt eindeutig identifiziert. Wenn FileTag- ein Nicht-Microsoft-Tag ist, ist dieser Parameter erforderlich und kann nicht NULL-werden. Wenn ein vorhandenes Analysetag geändert wird, muss die in diesem Parameter angegebene GUID mit der GUID des analysepunkts übereinstimmen, der geändert werden soll.
DataBuffer
Zeigen Sie auf einen Puffer, der benutzerdefinierte Daten für den Analysepunkt enthält.
DataBufferLength
Größe des Puffers in Byte, auf den DataBuffer Punkte.
ExistingFileTag
Vorhandenes Tag in der Datei, wenn das Tag ersetzt werden muss. Dieser Parameter muss auf Null festgelegt werden, um ein Analysetag für eine Datei festzulegen, die noch nicht vorhanden ist.
ExistingGuid
GUID, die einen vorhandenen Analysepunkt eindeutig identifiziert. Wenn ExistingFileTag- ein Nicht-Microsoft-Tag ist und ungleich Null ist, darf dieser Parameter nicht NULL-sein.
Flags
Gibt die in ntifs.hdefinierten REPARSE_DATA_BUFFER_EX_XXX- Flags an.
Rückgabewert
Diese Funktion gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-Wert wie den folgenden zurück:
Rückgabecode | Beschreibung |
---|---|
STATUS_IO_REPARSE_TAG_MISMATCH | Der in ExistingFileTag- angegebene Tagwert stimmt nicht mit dem des vorhandenen Tagwerts überein. |
STATUS_REPARSE_ATTRIBUTE_CONFLICT | Für einen vorhandenen Analysepunkt mit einem Nicht-Microsoft-Tag entspricht ExistingFileTag- dem vorhandenen Tagwert, die GUID- stimmt jedoch nicht mit der vorhandenen GUID überein. |
Bemerkungen
Minifiltertreiber sollten FltTagFileEx- anstelle von FSCTL_SET_REPARSE_POINT_EX verwenden, um einen Analysepunkt festzulegen.
Nicht alle Dateisysteme unterstützen Analysepunkte; Die NTFS- und ReFS-Dateisysteme unterstützen sie beispielsweise, das FAT-Dateisystem jedoch nicht. Minifiltertreiber können bestimmen, ob ein Dateisystem Analysepunkte unterstützt, indem FltQueryVolumeInformationaufgerufen wird, FileFsAttributeInformation für den FsInformation Parameter angegeben und das FILE_SUPPORTS_REPARSE_POINTS Bit-Flag in der zurückgegebenen FILE_FS_ATTRIBUTE_INFORMATION Struktur untersucht wird.
Um einen vorhandenen Analysepunkt zu entfernen, rufen Sie FltUntagFile-auf.
Weitere Informationen zu Analysepunkten finden Sie in der Dokumentation zum Microsoft Windows SDK.
Anforderungen
Anforderung | Wert |
---|---|
Header- | fltkernel.h |