Bagikan melalui


Fungsi FsRtlRemovePerFileContext (ntifs.h)

Rutinitas FsRtlRemovePerFileContext mengembalikan penunjuk ke objek FSRTL_PER_FILE_CONTEXT yang terkait dengan file. FsRtlRemovePerFileContext menghapus objek FSRTL_PER_FILE_CONTEXT dari daftar yang ditempatinya, bersama dengan informasi konteks spesifik driver terkait.

Sintaks

PFSRTL_PER_FILE_CONTEXT FsRtlRemovePerFileContext(
  [in]           PVOID *PerFileContextPointer,
  [in, optional] PVOID OwnerId,
  [in, optional] PVOID InstanceId
);

Parameter

[in] PerFileContextPointer

Penunjuk ke penunjuk buram yang digunakan oleh paket pustaka runtime sistem file (FSRTL) untuk melacak konteks file. Untuk mendapatkan penunjuk ini dari objek file, gunakan makro FsRtlGetPerFileContextPointer .

[in, optional] OwnerId

Penunjuk ke variabel filter yang dialokasikan driver yang secara unik mengidentifikasi pemilik struktur konteks per file. Parameter ini bersifat opsional, tetapi harus non-NULL jika InstanceId bukan NULL.

[in, optional] InstanceId

Penunjuk ke variabel filter yang dialokasikan driver yang dapat digunakan untuk membedakan antara struktur konteks per file yang dibuat oleh driver filter yang sama. Parameter ini bersifat opsional.

Mengembalikan nilai

Penunjuk ke FSRTL_PER_FILE_CONTEXT pertama yang cocok dengan OwnerId dan InstanceId, jika ditentukan. Jika tidak ada kecocokan yang ditemukan atau jika sistem tidak mendukung informasi konteks per file, rutinitas ini mengembalikan NULL.

Keterangan

FsRtlRemovePerFileContext hanya menghapus struktur konteks per file pertama yang cocok yang ditemukannya. Jika ada konteks tambahan yang cocok per file, driver filter harus memanggil FsRtlRemovePerFileContext sebanyak yang diperlukan untuk menghapus semuanya.

Driver filter sistem file harus membebaskan memori yang digunakan untuk informasi konteks ini setelah FSRTL_PER_FILE_CONTEXT dihapus.

Gunakan rutinitas ini untuk driver Anda untuk menghapus konteks hanya ketika driver harus membuang informasi konteks per file saat file masih terbuka. Konteks dihapus saat file ditutup dengan menggunakan FsRtlTeardownPerFileContexts.

Jangan gunakan rutinitas ini di dalam rutinitas FreeCallback Anda. Sistem file menghapus konteks dari daftar sebelum rutinitas tersebut dipanggil.

Jangan gunakan rutinitas ini di dalam handler IRP_CLOSE Anda. Anda tidak akan diberi tahu ketika aliran dicabik-cabikan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Target Platform Universal
Header ntifs.h (termasuk FltKernel.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=APC_LEVEL

Lihat juga

FSRTL_PER_FILE_CONTEXT

FsRtlGetPerFileContextPointer

FsRtlInsertPerFileContext

FsRtlLookupPerFileContext

Melacak Konteks Per-File dalam Driver Filter Sistem File Warisan