struktur FSRTL_PER_STREAM_CONTEXT (ntifs.h)
Struktur FSRTL_PER_STREAM_CONTEXT berisi informasi konteks yang dikelola driver filter sistem file tentang aliran file.
Sintaks
typedef struct _FSRTL_PER_STREAM_CONTEXT {
LIST_ENTRY Links;
PVOID OwnerId;
PVOID InstanceId;
PFREE_FUNCTION FreeCallback;
} FSRTL_PER_STREAM_CONTEXT, *PFSRTL_PER_STREAM_CONTEXT;
Anggota
Links
Tautkan untuk struktur ini dalam daftar semua struktur konteks per aliran yang terkait dengan aliran file yang sama. FsRtlInsertPerStreamContext menyisipkan anggota ini ke dalam daftar semua struktur konteks per aliran untuk aliran file. Untuk mendapatkan penunjuk ke kepala daftar dari objek file, gunakan makro FsRtlGetPerStreamContextPointer , dan transmisikan hasilnya ke penunjuk PFSRTL_ADVANCED_FCB_HEADER . Penunjuk daftar adalah anggota FilterContexts dalam struktur header blok kontrol file tingkat lanjut (FCB) untuk aliran file.
OwnerId
Penunjuk ke variabel filter-driver-alokasi yang secara unik mengidentifikasi pemilik struktur konteks per aliran. Format variabel ini khusus untuk filter-driver. Penulis filter harus memilih nilai yang bermakna dan nyaman, seperti alamat objek driver atau objek perangkat. Driver filter harus mengatur anggota ini ke nilai non-NULL .
InstanceId
Penunjuk ke variabel filter-driver-alokasi yang dapat digunakan untuk membedakan antara struktur konteks per aliran yang dibuat oleh driver filter yang sama. Format variabel ini khusus untuk filter-driver. Penulis filter harus memilih nilai yang bermakna dan nyaman, seperti alamat objek konteks aliran untuk aliran file. (Untuk mendapatkan alamat ini dari objek file, gunakan makro FsRtlGetPerStreamContextPointer .)
Anggota ini bersifat opsional dan dapat berupa NULL.
FreeCallback
Arahkan ke rutinitas panggilan balik yang membebaskan struktur konteks per aliran. Rutinitas ini dan parameternya didefinisikan sebagai berikut:
VOID
(*PFREE_FUNCTION) (
IN PVOID Buffer
);
Buffer
Arahkan ke struktur FSRTL_PER_STREAM_CONTEXT untuk membebaskan.
Keterangan
Driver filter sistem file dapat menggunakan struktur FSRTL_PER_STREAM_CONTEXT untuk mempertahankan informasi konteks untuk aliran file. Struktur ini dapat digunakan apa adanya atau disematkan dalam struktur konteks per aliran yang ditentukan driver.
Ketika sistem file meluapkan objek konteks aliran untuk aliran file, sistem file harus memanggil FsRtlTeardownPerStreamContexts, yang pada gilirannya memanggil rutinitas FreeCallback dari semua struktur konteks per aliran yang terkait dengan aliran file.
Makro FsRtlSupportsPerStreamContexts menentukan apakah sistem file mendukung konteks per aliran untuk aliran file tertentu.
BOOLEAN FsRtlSupportsPerStreamContexts(
[in] PFILE_OBJECT FileObject
);
Parameter
FileObject [in]
PFILE_OBJECT
Penunjuk ke objek file untuk aliran file.
Nilai kembali
BOOLEAN
Makro FsRtlSupportsPerStreamContexts mengembalikan TRUE jika sistem file mendukung konteks per aliran untuk aliran file, FALSE jika tidak.
Driver filter sistem file memanggil FsRtlSupportsPerStreamContexts untuk menentukan apakah sistem file yang mendasar mendukung konteks per aliran untuk aliran file yang diwakili oleh objek file tertentu. Perhatikan bahwa sistem file mungkin mendukung konteks per aliran untuk beberapa jenis file tetapi tidak untuk yang lain. Misalnya, NTFS dan FAT saat ini tidak mendukung konteks per aliran untuk file paging.
Untuk informasi selengkapnya, lihat Melacak konteks Per-Stream dalam Driver Filter Sistem File Warisan.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Struktur ini adalah Windows XP |
Header | ntifs.h (termasuk Ntifs.h) |
Lihat juga
FsRtlGetPerStreamContextPointer
FsRtlTeardownPerStreamContexts
Melacak Konteks Per-Stream dalam Driver Filter Sistem File Warisan
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk