Fungsi FltTagFileEx (fltkernel.h)
FltTagFileEx menetapkan titik pemilah ulang pada file atau direktori.
Sintaks
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
Pointer buram ke instans driver minifilter yang memulai permintaan I/O ini. Parameter ini diperlukan dan tidak boleh NULL.
FileObject
Arahkan ke objek file untuk file atau direktori tempat mengatur titik reparse. Objek file harus dibuka untuk akses FILE_WRITE_DATA. Parameter ini diperlukan dan tidak boleh NULL.
FileTag
Tag titik pemilah ulang. Bisa menjadi salah satu nilai IO_REPARSE_TAG_XXX yang ditentukan dalam ntifs.h.
Guid
GUID yang secara unik mengidentifikasi titik pemilah ulang. Jika FileTag adalah tag non-Microsoft, parameter ini diperlukan dan tidak boleh NULL. Jika tag reparse yang ada sedang dimodifikasi, GUID yang ditentukan dalam parameter ini harus cocok dengan GUID dari titik reparse yang akan dimodifikasi.
DataBuffer
Penunjuk ke buffer yang berisi data yang ditentukan pengguna untuk titik pemilah ulang.
DataBufferLength
Ukuran, dalam byte, dari buffer tempat DataBuffer menunjuk.
ExistingFileTag
Tag yang ada pada file jika tag harus diganti. Parameter ini harus diatur ke nol untuk mengatur tag reparse pada file yang belum memilikinya.
ExistingGuid
GUID yang secara unik mengidentifikasi titik reparse yang ada. Jika ExistingFileTag adalah tag non-Microsoft dan bukan nol, parameter ini tidak boleh NULL.
Flags
Menentukan bendera REPARSE_DATA_BUFFER_EX_XXX yang ditentukan dalam ntifs.h.
Nilai kembali
Fungsi ini mengembalikan STATUS_SUCCESS atau nilai NTSTATUS yang sesuai seperti berikut ini:
Kode Pengembalian | Deskripsi |
---|---|
STATUS_IO_REPARSE_TAG_MISMATCH | Nilai tag yang ditentukan dalam ExistingFileTag tidak cocok dengan nilai tag yang ada. |
STATUS_REPARSE_ATTRIBUTE_CONFLICT | Untuk titik reparse yang ada dengan tag non-Microsoft, ExistingFileTag cocok dengan nilai tag yang ada, tetapi Guid tidak cocok dengan Guid yang ada. |
Keterangan
Driver minifilter harus menggunakan FltTagFileEx alih-alih FSCTL_SET_REPARSE_POINT_EX untuk mengatur titik pemilah ulang.
Tidak semua sistem file mendukung titik reparse; misalnya, sistem file NTFS dan ReFS mendukungnya, tetapi sistem file FAT tidak. Driver minifilter dapat menentukan apakah sistem file mendukung titik pemisahan ulang dengan memanggil FltQueryVolumeInformation, menentukan FileFsAttributeInformation untuk parameter FsInformation , dan memeriksa bendera bit FILE_SUPPORTS_REPARSE_POINTS dalam struktur FILE_FS_ATTRIBUTE_INFORMATION yang dikembalikan.
Untuk menghapus titik pemilah ulang yang ada, panggil FltUntagFile.
Untuk informasi selengkapnya tentang titik pemilah ulang, lihat dokumentasi Microsoft Windows SDK.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | fltkernel.h |