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 administrator 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.
Menampilkan nilai
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
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK