Pemberitahuan VDS
[Dimulai dengan Windows 8 dan Windows Server 2012, antarmuka Virtual Disk Service COM digantikan oleh Windows Storage Management API.]
Penyedia dapat mengirim pemberitahuan peristiwa ke VDS, dan VDS pada gilirannya dapat meneruskan pemberitahuan ke aplikasi. Model pemberitahuan yang digunakan oleh VDS menyerupai model titik koneksi yang digunakan oleh objek COM.
VDS menghasilkan pemberitahuan layanan untuk peristiwa seperti penetapan huruf drive atau kedatangan disk yang tidak dialokasikan. Setelah VDS mengalokasikan disk ke penyedia, penyedia bertanggung jawab untuk menghasilkan pemberitahuan terkait. Ilustrasi berikut menunjukkan antarmuka dan metode yang digunakan dalam model pemberitahuan VDS.
Untuk menerima pemberitahuan, VDS mendaftarkan antarmukaIVdsAdviseSinkdengan objek penyedia dengan memanggil metode IVdsProviderPrivate::OnLoad dan meneruskan pointer ke antarmuka. Ketika peristiwa pemberitahuan terjadi, seperti kedatangan volume atau drive baru, penyedia meneruskan struktur pemberitahuan yang sesuai ke VDS sebagai parameter metode IVdsAdviseSink::OnNotify.
Prosesnya mirip antara aplikasi dan VDS. Secara khusus, untuk menerima pemberitahuan, aplikasi mendaftarkan antarmuka IVdsAdviseSink dengan VDS dengan memanggil metode IVdsService::Advise dan meneruskan pointer ke antarmuka. Ketika VDS menerima pemberitahuan dari penyedia, VDS meneruskan struktur pemberitahuan yang sesuai ke aplikasi terdaftar sebagai parameter metode IVdsAdviseSink::OnNotify.
Nota
Aplikasi yang memanggil Advise akhirnya harus memanggil metode IVdsService::Unadvise. Idealnya, ini harus memanggil Unadvise segera setelah tidak perlu lagi menerima pemberitahuan.
Tabel yang mengikuti mencantumkan pemberitahuan yang dihasilkan penyedia menurut jenis objek.
Benda | Pemberitahuan | Nilai | Menautkan ke deskripsi peristiwa |
---|---|---|---|
Bungkus | VDS_NF_PACK_ARRIVE | 1 | VDS_PACK_NOTIFICATION |
Bungkus | VDS_NF_PACK_DEPART | 2 | VDS_PACK_NOTIFICATION |
Bungkus | VDS_NF_PACK_MODIFY | 3 | VDS_PACK_NOTIFICATION |
Jilid | VDS_NF_VOLUME_ARRIVE | 4 | VDS_VOLUME_NOTIFICATION |
Jilid | VDS_NF_VOLUME_DEPART | 5 | VDS_VOLUME_NOTIFICATION |
Jilid | VDS_NF_VOLUME_MODIFY | 6 | VDS_VOLUME_NOTIFICATION |
Jilid | VDS_NF_VOLUME_REBUILDING_PROGRESS | 7 | VDS_VOLUME_NOTIFICATION |
Diska | VDS_NF_DISK_ARRIVE | 8 | VDS_DISK_NOTIFICATION |
Diska | VDS_NF_DISK_DEPART | 9 | VDS_DISK_NOTIFICATION |
Diska | VDS_NF_DISK_MODIFY | 10 | VDS_DISK_NOTIFICATION |
Partisi | VDS_NF_PARTITION_ARRIVE | 11 | VDS_PARTITION_NOTIFICATION |
Partisi | VDS_NF_PARTITION_DEPART | 12 | VDS_PARTITION_NOTIFICATION |
Partisi | VDS_NF_PARTITION_MODIFY | 13 | VDS_PARTITION_NOTIFICATION |
Subsistem | VDS_NF_SUB_SYSTEM_ARRIVE | 101 | VDS_SUB_SYSTEM_NOTIFICATION |
Subsistem | VDS_NF_SUB_SYSTEM_DEPART | 102 | VDS_SUB_SYSTEM_NOTIFICATION |
Subsistem | VDS_NF_SUB_SYSTEM_MODIFY | 151 | VDS_SUB_SYSTEM_NOTIFICATION |
Pengendali | VDS_NF_CONTROLLER_ARRIVE | 103 | VDS_CONTROLLER_NOTIFICATION |
Pengendali | VDS_NF_CONTROLLER_DEPART | 104 | VDS_CONTROLLER_NOTIFICATION |
Pengendali | VDS_NF_CONTROLLER_MODIFY | 350 | VDS_CONTROLLER_NOTIFICATION |
Pengendali | VDS_NF_CONTROLLER_REMOVED | 351 | VDS_CONTROLLER_NOTIFICATION |
Pelabuhan | VDS_NF_PORT_MODIFY | 352 | VDS_PORT_NOTIFICATION |
Pelabuhan | VDS_NF_PORT_REMOVED | 353 | VDS_PORT_NOTIFICATION |
Mengendarai | VDS_NF_DRIVE_ARRIVE | 105 | VDS_DRIVE_NOTIFICATION |
Mengendarai | VDS_NF_DRIVE_DEPART | 106 | VDS_DRIVE_NOTIFICATION |
Mengendarai | VDS_NF_DRIVE_MODIFY | 107 | VDS_DRIVE_NOTIFICATION |
Mengendarai | VDS_NF_DRIVE_REMOVED | 354 | VDS_DRIVE_NOTIFICATION |
LUN | VDS_NF_LUN_ARRIVE | 108 | VDS_LUN_NOTIFICATION |
LUN | VDS_NF_LUN_DEPART | 109 | VDS_LUN_NOTIFICATION |
LUN | VDS_NF_LUN_MODIFY | 110 | VDS_LUN_NOTIFICATION |
VDS menghasilkan pemberitahuan yang tersisa. Tabel berikut mencantumkan konstanta pemberitahuan berbasis layanan menurut kategori.
Golongan | Pemberitahuan | Nilai | Menautkan ke deskripsi peristiwa |
---|---|---|---|
Diska | VDS_NF_DISK_ARRIVE | 8 | VDS_DISK_NOTIFICATION |
Diska | VDS_NF_DISK_DEPART | 9 | VDS_DISK_NOTIFICATION |
Diska | VDS_NF_DISK_MODIFY | 10 | VDS_DISK_NOTIFICATION |
Huruf kandar | VDS_NF_DRIVE_LETTER_FREE | 201 | VDS_DRIVE_LETTER_NOTIFICATION |
Huruf kandar | VDS_NF_DRIVE_LETTER_ASSIGN | 202 | VDS_DRIVE_LETTER_NOTIFICATION |
Sistem file | VDS_NF_FILE_SYSTEM_MODIFY | 203 | VDS_FILE_SYSTEM_NOTIFICATION |
Sistem file | VDS_NF_FILE_SYSTEM_FORMAT_PROGRESS | 204 | VDS_FILE_SYSTEM_NOTIFICATION |
Jilid | VDS_NF_MOUNT_POINTS_CHANGE | 205 | VDS_MOUNT_POINT_NOTIFICATION |
Topik terkait