PFLT_INSTANCE_SETUP_CALLBACK fungsi panggilan balik (fltkernel.h)

Driver minifilter dapat mendaftarkan rutinitas jenis PFLT_INSTANCE_SETUP_CALLBACK sebagai rutinitas InstanceSetupCallback driver minifilter.

Sintaks

PFLT_INSTANCE_SETUP_CALLBACK PfltInstanceSetupCallback;

NTSTATUS PfltInstanceSetupCallback(
  [in] PCFLT_RELATED_OBJECTS FltObjects,
  [in] FLT_INSTANCE_SETUP_FLAGS Flags,
  [in] DEVICE_TYPE VolumeDeviceType,
  [in] FLT_FILESYSTEM_TYPE VolumeFilesystemType
)
{...}

Parameter

[in] FltObjects

Penunjuk ke struktur FLT_RELATED_OBJECTS yang berisi pointer buram untuk objek yang terkait dengan operasi saat ini.

[in] Flags

Bitmask bendera yang menunjukkan mengapa instans dilampirkan. Dapat berupa satu atau beberapa hal berikut ini:

Bendera Makna
FLTFL_INSTANCE_SETUP_AUTOMATIC_ATTACHMENT (0x00000001) Instans sedang dilampirkan secara otomatis. Baik driver minifilter baru saja dimuat dan sedang dilampirkan ke semua volume yang ada, atau sedang dilampirkan ke volume yang baru dipasang.
FLTFL_INSTANCE_SETUP_MANUAL_ATTACHMENT (0x00000002) Instans sedang dilampirkan secara manual karena aplikasi mode pengguna telah disebut FilterAttach atau FilterAttachAtAltitude, atau karena komponen mode kernel telah disebut FltAttachVolume atau FltAttachVolumeAtAltitude
FLTFL_INSTANCE_SETUP_NEWLY_MOUNTED_VOLUME (0x00000004) Instans sedang dilampirkan secara otomatis ke volume yang baru dipasang.
FLTFL_INSTANCE_SETUP_DETACHED_VOLUME (0x00000008) Instans sedang dilampirkan ke volume yang dilepaskan. Dimungkinkan, pada beberapa sistem file (seperti FAT dan CDFS, yang digunakan oleh beberapa drive media yang dapat dilepas), untuk memasang kembali volume setelah dilepas. Volume dicopot jika tidak memiliki tumpukan penyimpanan terkait. Volume dalam status ini biasanya merupakan volume yang dilepas yang masih memiliki file terbuka.
FLTFL_INSTANCE_SETUP_DEV_VOLUME (0x00000010) Instans sedang dilampirkan ke volume yang diformat sebagai volume pengembang. Filter sistem file dapat mengaktifkan pengoptimalan yang tidak memerlukan administrator untuk mempercayai volume pada komputer tertentu. Tersedia dimulai dengan Windows 11, pembaruan september versi 22H2.
FLTFL_INSTANCE_SETUP_TRUSTED_VOLUME (0x00000020) Menunjukkan bahwa adminstrator pada komputer tertentu telah mempercayai volume ini dan bersedia mengaktifkan pengoptimalan seperti tidak memiliki filter anti-virus yang melekat pada volume. Informasi ini tetap ada di registri pada komputer tertentu. Ini dapat digunakan oleh filter sistem file untuk mengaktifkan pengoptimalan yang mengharuskan administrator mempercayai volume pada komputer tertentu. Tersedia dimulai dengan Windows 11, pembaruan september versi 22H2.

[in] VolumeDeviceType

Jenis perangkat volume sistem file. Harus salah satu dari berikut ini:

  • FILE_DEVICE_CD_ROM_FILE_SYSTEM (0x00000002)
  • FILE_DEVICE_DISK_FILE_SYSTEM (0x00000008)
  • FILE_DEVICE_NETWORK_FILE_SYSTEM (0x00000014)

[in] VolumeFilesystemType

Jenis sistem file volume. Nilai yang mungkin tercantum dalam FLT_FILESYSTEM_TYPE.

Nilai kembali

Rutinitas panggilan balik ini mengembalikan nilai STATUS_SUCCESS atau NTSTATUS seperti berikut ini:

Menampilkan kode Deskripsi
STATUS_FLT_DO_NOT_ATTACH Mengembalikan nilai ini mencegah instans driver minifilter dilampirkan ke volume yang diberikan. Ini adalah kode kesalahan.

Keterangan

Catatan

Jangan melakukan sinkronisasi utas atau komunikasi antar-proses dalam implementasi PFLT_INSTANCE_SETUP_CALLBACK Anda. Melakukan operasi tersebut dapat menyebabkan kondisi kebuntuan.

Ketika driver minifilter mendaftarkan dirinya dengan memanggil FltRegisterFilter dari rutinitas DriverEntry-nya , ia dapat mendaftarkan rutinitas jenis PFLT_INSTANCE_SETUP_CALLBACK sebagai rutinitas InstanceSetupCallback driver minifilter.

Untuk mendaftarkan rutinitas InstanceSetupCallback , driver minifilter menyimpan alamat rutinitas jenis PFLT_INSTANCE_SETUP_CALLBACK di anggota InstanceSetupCallback dari struktur FLT_REGISTRATION yang diteruskan driver minifilter sebagai parameter PendaftaranFltRegisterFilter.

Manajer filter memanggil rutinitas ini pada operasi pertama setelah volume baru dipasang.

Manajer filter memanggil rutinitas ini untuk memungkinkan driver minifilter merespons permintaan lampiran otomatis atau manual. Jika rutinitas ini mengembalikan kesalahan atau peringatan kode NTSTATUS, instans driver minifilter tidak dilampirkan ke volume yang diberikan. Jika tidak, instans driver minifilter dilampirkan ke volume yang diberikan.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header fltkernel.h (termasuk Fltkernel.h)
IRQL PASSIVE_LEVEL

Lihat juga

FLT_REGISTRATION

FLT_RELATED_OBJECTS

FilterAttach

FilterAttachAtAltitude

FltAttachVolume

FltAttachVolumeAtAltitude

FltRegisterFilter

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

Dev Drive