FltTagFile-Funktion (fltkernel.h)
FltTagFile legt ein Reparse-Tag für eine Datei oder ein Verzeichnis fest.
Syntax
NTSTATUS FLTAPI FltTagFile(
[in] PFLT_INSTANCE InitiatingInstance,
[in] PFILE_OBJECT FileObject,
[in] ULONG FileTag,
[in, optional] GUID *Guid,
[in] PVOID DataBuffer,
[in] USHORT DataBufferLength
);
Parameter
[in] InitiatingInstance
Undurchsichtiger instance Zeiger für den Minifiltertreiber instance, der diese E/A-Anforderung initiiert hat. Dieser Parameter ist erforderlich und darf nicht NULL sein.
[in] FileObject
Zeiger auf ein Dateiobjekt für die Datei oder das Verzeichnis, für das ein Analysepunkt festgelegt werden soll. Das Dateiobjekt muss für FILE_WRITE_DATA Zugriff geöffnet werden. Dieser Parameter ist erforderlich und darf nicht NULL sein.
[in] FileTag
Punkttag neu analysieren. Wenn ein vorhandenes Analysetag geändert wird, muss das in diesem Parameter angegebene Tag mit dem Tag des zu ändernden Analysepunkts übereinstimmen.
[in, optional] Guid
GUID, die den Typ des Analysepunkts eindeutig identifiziert. Wenn FileTag kein Microsoft-Tag ist, ist dieser Parameter erforderlich und darf nicht NULL sein. Wenn ein vorhandenes Analysetag geändert wird, muss die in diesem Parameter angegebene GUID mit der GUID des zu ändernden Analysepunkts übereinstimmen.
[in] DataBuffer
Zeiger auf einen Puffer, der benutzerdefinierte Daten für den Analysepunkt enthält.
[in] DataBufferLength
Größe des Puffers, auf den DataBuffer verweist, in Bytes.
Rückgabewert
FltTagFile gibt STATUS_SUCCESS oder einen entsprechenden NTSTATUS-Wert zurück, z. B. einen der folgenden:
Rückgabecode | Beschreibung |
---|---|
|
Bei FltTagFileEx ist ein Poolzuordnungsfehler aufgetreten. Dies ist ein Fehlercode. |
|
Das Dateisystem unterstützt keine Analysepunkte. Dies ist ein Fehlercode. |
|
FileTag ist kein Microsoft-Tag, und NULL wurde für Guid angegeben. Dies ist ein Fehlercode. |
|
Das vom Aufrufer angegebene Reparse-Tag stimmte nicht mit dem Tag des zu ändernden Analysepunkts überein. Dies ist ein Fehlercode. |
|
Die vom Aufrufer angegebene Analyse-GUID stimmte nicht mit der GUID des zu ändernden Analysepunkts überein. Dies ist ein Fehlercode. |
Hinweise
Minifiltertreiber sollten FltTagFile anstelle von FSCTL_SET_REPARSE_POINT verwenden, um einen Analysepunkt festzulegen.
Nicht alle Dateisysteme unterstützen Analysepunkte. Das NTFS-Dateisystem unterstützt sie; das FAT-Dateisystem nicht. Minifiltertreiber können ermitteln, ob ein Dateisystem Analysepunkte unterstützt, indem Sie FltQueryVolumeInformation aufrufen, FileFsAttributeInformation für den FsInformation-Parameter angeben und das FILE_SUPPORTS_REPARSE_POINTS Bitflag in der zurückgegebenen FILE_FS_ATTRIBUTE_INFORMATION-Struktur untersuchen.
Um einen vorhandenen Analysepunkt zu entfernen, rufen Sie FltUntagFile auf.
Weitere Informationen zu Analysepunkten finden Sie in der Microsoft Windows SDK-Dokumentation.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | fltkernel.h (include Fltkernel.h) |
Bibliothek | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |