VDS Bildirimleri
[Windows 8 ve Windows Server 2012'de başlayarak, Sanal Disk Hizmeti COM arabiriminin yerini Windows Depolama Yönetimi API'sinin.]
Sağlayıcı VDS'ye olay bildirimi gönderebilir ve VDS de bildirimi uygulamalara iletebilir. VDS tarafından kullanılan bildirim modeli, COM nesneleri tarafından kullanılan bağlantı noktası modeline benzer.
VDS, sürücü harfi ataması veya ayrılmamış diskin gelmesi gibi olaylar için hizmet bildirimleri oluşturur. VDS bir sağlayıcıya disk ayırdıktan sonra, sağlayıcı ilişkili bildirimleri oluşturmakla sorumludur. Aşağıdaki çizimde VDS bildirim modelinde kullanılan arabirimler ve yöntemler gösterilmektedir.
Uygulamalar, Sanal Disk Hizmeti ve V D S Sağlayıcıları arasındaki arabirim ve yöntemleri (Advise, OnLoad ve OnNotify) gösteren
Bildirimleri almak için VDS, IVdsProviderPrivate::OnLoad yöntemini çağırıp arabirime bir işaretçi geçirerek IVdsAdviseSink arabirimini sağlayıcı nesnesine kaydeder. Yeni bir birimin veya sürücünün gelmesi gibi bir bildirim olayı gerçekleştiğinde sağlayıcı, IVdsAdviseSink::OnNotify yöntemi parametresi olarak VDS'ye uygun bildirim yapısını geçirir.
İşlem bir uygulama ile VDS arasında benzerdir. Özellikle, bir uygulama bildirimleri almak için IVdsService::Advise yöntemini çağırarak ve arabirime bir işaretçi geçirerek IVdsAdviseSink arabirimini VDS'ye kaydeder. VDS bir sağlayıcıdan bildirim aldığında, uygun bildirim yapısını kayıtlı uygulamalara IVdsAdviseSink::OnNotify yöntemi parametresi olarak geçirir.
Not
Öneri çağıran bir uygulamanın sonunda IVdsService::Unadvise yöntemini çağırması gerekir. İdeal olarak Unadvise artık bildirim alması gerekmediğinde çağırmalıdır.
Aşağıdaki tabloda, nesne türüne göre sağlayıcı tarafından oluşturulan bildirimler listelenir.
Nesne | Bildirim | Değer | Olay açıklaması bağlantısı |
---|---|---|---|
Paketlemek | VDS_NF_PACK_ARRIVE | 1 | VDS_PACK_NOTIFICATION |
Paketlemek | VDS_NF_PACK_DEPART | 2 | VDS_PACK_NOTIFICATION |
Paketlemek | VDS_NF_PACK_MODIFY | 3 | VDS_PACK_NOTIFICATION |
Hacim | VDS_NF_VOLUME_ARRIVE | 4 | VDS_VOLUME_NOTIFICATION |
Hacim | VDS_NF_VOLUME_DEPART | 5 | VDS_VOLUME_NOTIFICATION |
Hacim | VDS_NF_VOLUME_MODIFY | 6 | VDS_VOLUME_NOTIFICATION |
Hacim | VDS_NF_VOLUME_REBUILDING_PROGRESS | 7 | VDS_VOLUME_NOTIFICATION |
Disk | VDS_NF_DISK_ARRIVE | 8 | VDS_DISK_NOTIFICATION |
Disk | VDS_NF_DISK_DEPART | 9 | VDS_DISK_NOTIFICATION |
Disk | VDS_NF_DISK_MODIFY | 10 | VDS_DISK_NOTIFICATION |
Bölüm | VDS_NF_PARTITION_ARRIVE | 11 | VDS_PARTITION_NOTIFICATION |
Bölüm | VDS_NF_PARTITION_DEPART | 12 | VDS_PARTITION_NOTIFICATION |
Bölüm | VDS_NF_PARTITION_MODIFY | 13 | VDS_PARTITION_NOTIFICATION |
Alt | VDS_NF_SUB_SYSTEM_ARRIVE | 101 | VDS_SUB_SYSTEM_NOTIFICATION |
Alt | VDS_NF_SUB_SYSTEM_DEPART | 102 | VDS_SUB_SYSTEM_NOTIFICATION |
Alt | VDS_NF_SUB_SYSTEM_MODIFY | 151 | VDS_SUB_SYSTEM_NOTIFICATION |
Denetleyici | VDS_NF_CONTROLLER_ARRIVE | 103 | VDS_CONTROLLER_NOTIFICATION |
Denetleyici | VDS_NF_CONTROLLER_DEPART | 104 | VDS_CONTROLLER_NOTIFICATION |
Denetleyici | VDS_NF_CONTROLLER_MODIFY | 350 | VDS_CONTROLLER_NOTIFICATION |
Denetleyici | VDS_NF_CONTROLLER_REMOVED | 351 | VDS_CONTROLLER_NOTIFICATION |
Liman | VDS_NF_PORT_MODIFY | 352 | VDS_PORT_NOTIFICATION |
Liman | VDS_NF_PORT_REMOVED | 353 | VDS_PORT_NOTIFICATION |
Sürmek | VDS_NF_DRIVE_ARRIVE | 105 | VDS_DRIVE_NOTIFICATION |
Sürmek | VDS_NF_DRIVE_DEPART | 106 | VDS_DRIVE_NOTIFICATION |
Sürmek | VDS_NF_DRIVE_MODIFY | 107 | VDS_DRIVE_NOTIFICATION |
Sürmek | 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 kalan bildirimleri oluşturur. Aşağıdaki tabloda hizmet tabanlı bildirim sabitleri kategoriye göre listelemektedir.
Kategori | Bildirim | Değer | Olay açıklaması bağlantısı |
---|---|---|---|
Disk | VDS_NF_DISK_ARRIVE | 8 | VDS_DISK_NOTIFICATION |
Disk | VDS_NF_DISK_DEPART | 9 | VDS_DISK_NOTIFICATION |
Disk | VDS_NF_DISK_MODIFY | 10 | VDS_DISK_NOTIFICATION |
Sürücü harfi | VDS_NF_DRIVE_LETTER_FREE | 201 | VDS_DRIVE_LETTER_NOTIFICATION |
Sürücü harfi | VDS_NF_DRIVE_LETTER_ASSIGN | 202 | VDS_DRIVE_LETTER_NOTIFICATION |
Dosya sistemi | VDS_NF_FILE_SYSTEM_MODIFY | 203 | VDS_FILE_SYSTEM_NOTIFICATION |
Dosya sistemi | VDS_NF_FILE_SYSTEM_FORMAT_PROGRESS | 204 | VDS_FILE_SYSTEM_NOTIFICATION |
Hacim | VDS_NF_MOUNT_POINTS_CHANGE | 205 | VDS_MOUNT_POINT_NOTIFICATION |
İlgili konular