IOCTL_MOUNTMGR_CHANGE_NOTIFY IOCTL (mountmgr.h)
Klien mengirim IOCTL ini ke manajer pemasangan untuk diberi tahu setiap kali ada perubahan dalam database nama tautan simbolis persisten manajer pemasangan.
Manajer pemasangan mempertahankan penghitung yang disebut EpicNumber yang merekam berapa banyak perubahan yang terjadi dalam database nama persistennya sejak startup terakhir. Klien mengirim nomor ke manajer pemasangan dengan setiap permintaan pemberitahuan perubahan IRP, dan manajer pemasangan merespons dengan cara berikut:
- Jika jumlah yang disediakan oleh klien tidak sama dengan EpicNumber, manajer pemasangan mengembalikan STATUS_SUCCESS, menunjukkan bahwa perubahan telah terjadi sejak klien terakhir kali membandingkan jumlahnya dengan EpicNumber manajer pemasangan.
- Jika jumlah yang disediakan oleh klien sama dengan EpicNumber, manajer pemasangan menginterpretasikan ini sebagai permintaan untuk diberi tahu tentang perubahan berikutnya pada database nama persisten, dan mengantre IRP pemberitahuan perubahan dan mengembalikan STATUS_PENDING. Setiap kali perubahan terjadi dalam database, manajer pemasangan menyelesaikan semua IRP pemberitahuan perubahan yang tertunda, sehingga memberi tahu klien tentang perubahan tersebut.
Kode utama
Buffer input
Klien mount manager menginisialisasi struktur MOUNTMGR_CHANGE_NOTIFY_INFO, yang ditentukan dalam Mountmgr.h, di awal buffer di Irp-AssociatedIrp.SystemBuffer>.
Panjang buffer input
Parameters.DeviceIoControl.InputBufferLength di lokasi tumpukan I/O IRP menunjukkan ukuran, dalam byte, dari buffer input, yang harus lebih besar dari atau sama dengan sizeof(MOUNTMGR_CHANGE_NOTIFY_INFO).
Buffer output
Manajer pemasangan mengembalikan EpicNumber saat ini dalam struktur MOUNTMGR_CHANGE_NOTIFY_INFO, yang ditentukan dalam Mountmgr.h, di awal buffer di Irp-AssociatedIrp.SystemBuffer>.
Blok status
Jika operasi berhasil, bidang Status diatur ke STATUS_SUCCESS dan bidang Informasi diatur ke sizeof(MOUNTMGR_CHANGE_NOTIFY_INFO).
Jika InputBufferLength kurang dari sizeof(MOUNTMGR_CHANGE_NOTIFY_INFO) atau OutputBufferLength kurang dari sizeof(MOUNTMGR_CHANGE_NOTIFY_INFO), bidang Status diatur ke STATUS_INVALID_PARAMETER.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | mountmgr.h (termasuk Mountmgr.h) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk