Fungsi IoRegisterFsRegistrationChange (ntifs.h)

Rutinitas IoRegisterFsRegistrationChange mendaftarkan rutinitas pemberitahuan driver filter sistem file untuk dipanggil setiap kali sistem file mendaftar atau membatalkan pendaftaran dirinya sebagai sistem file aktif.

Sintaks

NTSTATUS IoRegisterFsRegistrationChange(
  [in] PDRIVER_OBJECT          DriverObject,
  [in] PDRIVER_FS_NOTIFICATION DriverNotificationRoutine
);

Parameter

[in] DriverObject

Penunjuk ke objek driver untuk driver filter FS.

[in] DriverNotificationRoutine

Penunjuk ke rutinitas PDRIVER_FS_NOTIFICATION , yang dipanggil sistem file ketika mendaftar atau membatalkan pendaftaran itu sendiri.

Nilai kembali

IoRegisterFsRegistrationChange mengembalikan nilai NTSTATUS seperti salah satu hal berikut ini.

Menampilkan kode Deskripsi
STATUS_SUCCESS Rutinitas pemberitahuan berhasil didaftarkan.
STATUS_INSUFFICIENT_RESOURCES Paket pemberitahuan tidak dapat dialokasikan untuk rutinitas pemberitahuan.
STATUS_DEVICE_ALREADY_ATTACHED Lihat Keterangan.
STATUS_NOT_SUPPORTED Driver filter FS warisan diblokir oleh kebijakan sistem. Lihat Memblokir driver filter sistem file warisan untuk informasi selengkapnya.

Keterangan

IoRegisterFsRegistrationChange mendaftarkan driver filter FS untuk diberi tahu setiap kali sistem file memanggil IoRegisterFileSystem atau IoUnregisterFileSystem.

Untuk berhenti menerima pemberitahuan tersebut, driver filter harus memanggil IoUnregisterFsRegistrationChange.

Ketika driver filter FS memanggil IoRegisterFsRegistrationChange, OS segera memanggil rutinitas pemberitahuannya untuk semua sistem file yang saat ini terdaftar. (Sistem file terdaftar adalah sistem yang telah berhasil disebut IoRegisterFileSystem tetapi belum memanggil IoUnregisterFileSystem.) Karena rutinitas pemberitahuan penelepon dapat dipanggil bahkan sebelum IoRegisterFsRegistrationChange kembali, driver filter tidak boleh memanggil rutinitas ini sampai setelah membuat struktur data apa pun yang dibutuhkan untuk memproses pemberitahuan ini.

IoRegisterFsRegistrationChange mengabaikan perangkat RAW. Untuk informasi tentang melampirkan ke sistem file RAW berdasarkan nama, lihat Melampirkan Objek Perangkat Filter ke Objek Perangkat Target.

IoRegisterFsRegistrationChange menaikkan jumlah referensi pada objek driver driver filter.

IoRegisterFsRegistrationChange mengembalikan STATUS_DEVICE_ALREADY_ATTACHED jika kondisi berikut ini benar:

  • Driver filter FS telah memanggil IoRegisterFsRegistrationChange dua kali berturut-turut tanpa memanggil IoUnregisterFsRegistrationChange di antaranya.
  • Driver filter FS tersebut telah melewati nilai yang sama untuk DriverObject dan DriverNotificationRoutine yang terdaftar dalam panggilan sebelumnya ke IoRegisterFsRegistrationChange.
  • Tidak ada driver filter lain yang terdaftar sejak panggilan pertama.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header ntifs.h (termasuk Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Lihat juga

IoRegisterFileSystem

IoRegisterFsRegistrationChangeEx

IoUnregisterFileSystem

IoUnregisterFsRegistrationChange