Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
[Począwszy od systemu Windows 8 i Windows Server 2012, interfejs Virtual Disk Service COM jest zastępowany przez interfejs API zarządzania Windows Storage.]
Dostawca może wysłać powiadomienie o zdarzeniu do usługi VDS, a usługa VDS może przekazać powiadomienie do aplikacji. Model powiadomień używany przez usługi VDS przypomina model punktów połączenia używany przez obiekty COM.
Usługa VDS generuje powiadomienia usługi dotyczące zdarzeń, takich jak przypisanie litery dysku lub przybycie dysku nieprzydzielonego. Gdy usługa VDS przydziela dysk dostawcy, dostawca jest odpowiedzialny za generowanie skojarzonych powiadomień. Ilustracja poniżej przedstawia interfejsy i metody używane w modelu powiadomień VDS.
Aby otrzymywać powiadomienia, usługa VDS rejestruje swój interfejs IVdsAdviseSink z obiektem dostawcy, wywołując IVdsProviderPrivate::OnLoad metody i przekazując wskaźnik do interfejsu. Gdy wystąpi zdarzenie powiadomienia, takie jak przybycie nowego woluminu lub dysku, dostawca przekazuje odpowiednią strukturę powiadomień do usługi VDS jako IVdsAdviseSink::OnNotify parametr metody.
Proces jest podobny między aplikacją a usługą VDS. W szczególności, aby otrzymywać powiadomienia, aplikacja rejestruje swoje IVdsAdviseSink interfejs z usługą VDS, wywołując IVdsService::Advise metodę i przekazując wskaźnik do interfejsu. Gdy usługa VDS odbiera powiadomienie od dostawcy, przekazuje odpowiednią strukturę powiadomień do zarejestrowanych aplikacji jako IVdsAdviseSink::OnNotify parametr metody.
Nuta
Aplikacja wywołująca Advise musi w końcu wywołać metodę IVdsService::Unadvise. Najlepiej, aby wywołać unadvise tak szybko, jak nie musi już otrzymywać powiadomień.
Poniższa tabela zawiera listę powiadomień generowanych przez dostawcę według typu obiektu.
| Sprzeciwiać się | Powiadomienie | Wartość | Link do opisu zdarzenia |
|---|---|---|---|
| Paczka | VDS_NF_PACK_ARRIVE | 1 | VDS_PACK_NOTIFICATION |
| Paczka | VDS_NF_PACK_DEPART | 2 | VDS_PACK_NOTIFICATION |
| Paczka | VDS_NF_PACK_MODIFY | 3 | VDS_PACK_NOTIFICATION |
| Głośność | VDS_NF_VOLUME_ARRIVE | 4 | VDS_VOLUME_NOTIFICATION |
| Głośność | VDS_NF_VOLUME_DEPART | 5 | VDS_VOLUME_NOTIFICATION |
| Głośność | VDS_NF_VOLUME_MODIFY | 6 | VDS_VOLUME_NOTIFICATION |
| Głośność | VDS_NF_VOLUME_REBUILDING_PROGRESS | 7 | VDS_VOLUME_NOTIFICATION |
| Dysk | VDS_NF_DISK_ARRIVE | 8 | VDS_DISK_NOTIFICATION |
| Dysk | VDS_NF_DISK_DEPART | 9 | VDS_DISK_NOTIFICATION |
| Dysk | VDS_NF_DISK_MODIFY | 10 | VDS_DISK_NOTIFICATION |
| Partycja | VDS_NF_PARTITION_ARRIVE | 11 | VDS_PARTITION_NOTIFICATION |
| Partycja | VDS_NF_PARTITION_DEPART | 12 | VDS_PARTITION_NOTIFICATION |
| Partycja | VDS_NF_PARTITION_MODIFY | 13 | VDS_PARTITION_NOTIFICATION |
| Podsystemu | VDS_NF_SUB_SYSTEM_ARRIVE | 101 | VDS_SUB_SYSTEM_NOTIFICATION |
| Podsystemu | VDS_NF_SUB_SYSTEM_DEPART | 102 | VDS_SUB_SYSTEM_NOTIFICATION |
| Podsystemu | VDS_NF_SUB_SYSTEM_MODIFY | 151 | VDS_SUB_SYSTEM_NOTIFICATION |
| Kontroler | VDS_NF_CONTROLLER_ARRIVE | 103 | VDS_CONTROLLER_NOTIFICATION |
| Kontroler | VDS_NF_CONTROLLER_DEPART | 104 | VDS_CONTROLLER_NOTIFICATION |
| Kontroler | VDS_NF_CONTROLLER_MODIFY | 350 | VDS_CONTROLLER_NOTIFICATION |
| Kontroler | VDS_NF_CONTROLLER_REMOVED | 351 | VDS_CONTROLLER_NOTIFICATION |
| Port | VDS_NF_PORT_MODIFY | 352 | VDS_PORT_NOTIFICATION |
| Port | VDS_NF_PORT_REMOVED | 353 | VDS_PORT_NOTIFICATION |
| Stacja dysków | VDS_NF_DRIVE_ARRIVE | 105 | VDS_DRIVE_NOTIFICATION |
| Stacja dysków | VDS_NF_DRIVE_DEPART | 106 | VDS_DRIVE_NOTIFICATION |
| Stacja dysków | VDS_NF_DRIVE_MODIFY | 107 | VDS_DRIVE_NOTIFICATION |
| Stacja dysków | VDS_NF_DRIVE_REMOVED | 354 | VDS_DRIVE_NOTIFICATION |
| Jednostki lun | VDS_NF_LUN_ARRIVE | 108 | VDS_LUN_NOTIFICATION |
| Jednostki lun | VDS_NF_LUN_DEPART | 109 | VDS_LUN_NOTIFICATION |
| Jednostki lun | VDS_NF_LUN_MODIFY | 110 | VDS_LUN_NOTIFICATION |
Usługa VDS generuje pozostałe powiadomienia. W poniższej tabeli wymieniono stałe powiadomień oparte na usłudze według kategorii.
| Kategoria | Powiadomienie | Wartość | Link do opisu zdarzenia |
|---|---|---|---|
| Dysk | VDS_NF_DISK_ARRIVE | 8 | VDS_DISK_NOTIFICATION |
| Dysk | VDS_NF_DISK_DEPART | 9 | VDS_DISK_NOTIFICATION |
| Dysk | VDS_NF_DISK_MODIFY | 10 | VDS_DISK_NOTIFICATION |
| Litera dysku | VDS_NF_DRIVE_LETTER_FREE | 201 | VDS_DRIVE_LETTER_NOTIFICATION |
| Litera dysku | VDS_NF_DRIVE_LETTER_ASSIGN | 202 | VDS_DRIVE_LETTER_NOTIFICATION |
| System plików | VDS_NF_FILE_SYSTEM_MODIFY | 203 | VDS_FILE_SYSTEM_NOTIFICATION |
| System plików | VDS_NF_FILE_SYSTEM_FORMAT_PROGRESS | 204 | VDS_FILE_SYSTEM_NOTIFICATION |
| Głośność | VDS_NF_MOUNT_POINTS_CHANGE | 205 | VDS_MOUNT_POINT_NOTIFICATION |
Tematy pokrewne