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
STATUS_FLT_DO_NOT_DETACH
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

Lihat juga

FLT_REGISTRATION

FLT_RELATED_OBJECTS

FilterDetach

FltDetachVolume

FltRegisterFilter

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK