PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK fungsi panggilan balik (fltkernel.h)
Driver minifilter dapat mendaftarkan rutinitas jenis PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK sebagai rutinitas InstanceQueryTeardownCallback driver minifilter.
Sintaks
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK PfltInstanceQueryTeardownCallback;
NTSTATUS PfltInstanceQueryTeardownCallback(
[in] PCFLT_RELATED_OBJECTS FltObjects,
[in] FLT_INSTANCE_QUERY_TEARDOWN_FLAGS Flags
)
{...}
Parameter
[in] FltObjects
Penunjuk ke struktur FLT_RELATED_OBJECTS yang berisi penunjuk buram untuk objek yang terkait dengan operasi saat ini.
[in] Flags
Bitmask bendera yang menjelaskan mengapa rutinitas panggilan balik robek kueri instans yang diberikan dipanggil. Tidak ada bendera yang saat ini ditentukan.
Nilai kembali
Rutinitas panggilan balik ini mengembalikan STATUS_SUCCESS atau nilai NTSTATUS seperti salah satu hal berikut ini:
Menampilkan kode | Deskripsi |
---|---|
|
Mengembalikan nilai status ini mencegah instans driver minifilter terlepas. Ini adalah kode kesalahan. |
Keterangan
Ketika driver minifilter mendaftarkan dirinya dengan memanggil FltRegisterFilter dari rutinitas DriverEntry-nya , driver dapat mendaftarkan rutinitas jenis PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK sebagai rutinitas InstanceQueryTeardownCallback driver minifilter.
Untuk mendaftarkan rutinitas InstanceQueryTeardownCallback , driver minifilter menyimpan alamat rutinitas jenis PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK di anggota InstanceQueryTeardownCallback dari struktur FLT_REGISTRATION yang diteruskan driver minifilter sebagai parameter PendaftaranFltRegisterFilter.
Manajer filter memanggil rutinitas ini untuk memungkinkan driver minifilter merespons permintaan pencopotan manual. Permintaan seperti itu diterima ketika aplikasi mode pengguna memanggil FilterDetach atau komponen mode kernel memanggil FltDetachVolume.
Rutinitas ini tidak dipanggil untuk permintaan lepas otomatis atau wajib, misalnya, ketika driver minifilter dibongkar atau volume dilepaskan.
Jika rutinitas ini mengembalikan kesalahan atau kode NTSTATUS peringatan, seperti STATUS_FLT_DO_NOT_DETACH, instans driver minifilter tidak terlepas dari volume. Jika tidak, instans dilepas.
Jika driver minifilter tidak menentukan rutinitas InstanceQueryTeardownCallback , instansnya tidak dapat dilepas secara manual dengan memanggil FilterDetach atau FltDetachVolume.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | fltkernel.h (termasuk Fltkernel.h) |
IRQL | PASSIVE_LEVEL |