VDS-meldingen
[Vanaf Windows 8 en Windows Server 2012 wordt de Virtual Disk Service COM-interface vervangen door de Windows Storage Management API.]
Een provider kan een gebeurtenismelding verzenden naar VDS en VDS kan de melding vervolgens doorsturen naar toepassingen. Het meldingsmodel dat door VDS wordt gebruikt, lijkt op het verbindingspuntmodel dat wordt gebruikt door COM-objecten.
VDS genereert servicemeldingen voor gebeurtenissen zoals een stationslettertoewijzing of de aankomst van een niet-toegewezen schijf. Zodra VDS een schijf aan een provider toewijst, is de provider verantwoordelijk voor het genereren van de bijbehorende meldingen. In de volgende afbeelding ziet u de interfaces en methoden die worden gebruikt in het VDS-meldingsmodel.
Voor het ontvangen van meldingen registreert VDS de IVdsAdviseSink interface met het providerobject door de methode IVdsProviderPrivate::OnLoad aan te roepen en een aanwijzer door te geven aan de interface. Wanneer een meldingsgebeurtenis plaatsvindt, zoals de komst van een nieuw volume of station, geeft de provider de juiste meldingsstructuur door aan VDS als een IVdsAdviseSink::OnNotify methodeparameter.
Het proces is vergelijkbaar tussen een toepassing en VDS. Om meldingen te ontvangen, registreert een toepassing zijn IVdsAdviseSink interface met VDS door de IVdsService aan te roepen::Adviseer methode en geeft een aanwijzer door aan de interface. Wanneer VDS een melding van een provider ontvangt, wordt de juiste meldingsstructuur doorgegeven aan geregistreerde toepassingen als een parameter IVdsAdviseSink::OnNotify methode.
Notitie
Een toepassing die Advise aanroept, moet uiteindelijk de methode IVdsService::Unadvise aanroepen. In het ideale geval moet het Niet- aanroepen zodra deze geen meldingen meer hoeft te ontvangen.
De volgende tabel bevat de door de provider gegenereerde meldingen per objecttype.
Object | Bekendmaking | Waarde | Koppeling naar gebeurtenisbeschrijving |
---|---|---|---|
Inpakken | VDS_NF_PACK_ARRIVE | 1 | VDS_PACK_NOTIFICATION |
Inpakken | VDS_NF_PACK_DEPART | 2 | VDS_PACK_NOTIFICATION |
Inpakken | VDS_NF_PACK_MODIFY | 3 | VDS_PACK_NOTIFICATION |
Volume | VDS_NF_VOLUME_ARRIVE | 4 | VDS_VOLUME_NOTIFICATION |
Volume | VDS_NF_VOLUME_DEPART | 5 | VDS_VOLUME_NOTIFICATION |
Volume | VDS_NF_VOLUME_MODIFY | 6 | VDS_VOLUME_NOTIFICATION |
Volume | VDS_NF_VOLUME_REBUILDING_PROGRESS | 7 | VDS_VOLUME_NOTIFICATION |
Schijf | VDS_NF_DISK_ARRIVE | 8 | VDS_DISK_NOTIFICATION |
Schijf | VDS_NF_DISK_DEPART | 9 | VDS_DISK_NOTIFICATION |
Schijf | VDS_NF_DISK_MODIFY | 10 | VDS_DISK_NOTIFICATION |
Verdelen | VDS_NF_PARTITION_ARRIVE | 11 | VDS_PARTITION_NOTIFICATION |
Verdelen | VDS_NF_PARTITION_DEPART | 12 | VDS_PARTITION_NOTIFICATION |
Verdelen | VDS_NF_PARTITION_MODIFY | 13 | VDS_PARTITION_NOTIFICATION |
Subsysteem | VDS_NF_SUB_SYSTEM_ARRIVE | 101 | VDS_SUB_SYSTEM_NOTIFICATION |
Subsysteem | VDS_NF_SUB_SYSTEM_DEPART | 102 | VDS_SUB_SYSTEM_NOTIFICATION |
Subsysteem | VDS_NF_SUB_SYSTEM_MODIFY | 151 | VDS_SUB_SYSTEM_NOTIFICATION |
Controleur | VDS_NF_CONTROLLER_ARRIVE | 103 | VDS_CONTROLLER_NOTIFICATION |
Controleur | VDS_NF_CONTROLLER_DEPART | 104 | VDS_CONTROLLER_NOTIFICATION |
Controleur | VDS_NF_CONTROLLER_MODIFY | 350 | VDS_CONTROLLER_NOTIFICATION |
Controleur | VDS_NF_CONTROLLER_REMOVED | 351 | VDS_CONTROLLER_NOTIFICATION |
Haven | VDS_NF_PORT_MODIFY | 352 | VDS_PORT_NOTIFICATION |
Haven | VDS_NF_PORT_REMOVED | 353 | VDS_PORT_NOTIFICATION |
Rijden | VDS_NF_DRIVE_ARRIVE | 105 | VDS_DRIVE_NOTIFICATION |
Rijden | VDS_NF_DRIVE_DEPART | 106 | VDS_DRIVE_NOTIFICATION |
Rijden | VDS_NF_DRIVE_MODIFY | 107 | VDS_DRIVE_NOTIFICATION |
Rijden | 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 genereert de resterende meldingen. De volgende tabel bevat servicegebaseerde meldingsconstanten per categorie.
Categorie | Bekendmaking | Waarde | Koppeling naar gebeurtenisbeschrijving |
---|---|---|---|
Schijf | VDS_NF_DISK_ARRIVE | 8 | VDS_DISK_NOTIFICATION |
Schijf | VDS_NF_DISK_DEPART | 9 | VDS_DISK_NOTIFICATION |
Schijf | VDS_NF_DISK_MODIFY | 10 | VDS_DISK_NOTIFICATION |
Stationsletter | VDS_NF_DRIVE_LETTER_FREE | 201 | VDS_DRIVE_LETTER_NOTIFICATION |
Stationsletter | VDS_NF_DRIVE_LETTER_ASSIGN | 202 | VDS_DRIVE_LETTER_NOTIFICATION |
Bestandssysteem | VDS_NF_FILE_SYSTEM_MODIFY | 203 | VDS_FILE_SYSTEM_NOTIFICATION |
Bestandssysteem | VDS_NF_FILE_SYSTEM_FORMAT_PROGRESS | 204 | VDS_FILE_SYSTEM_NOTIFICATION |
Volume | VDS_NF_MOUNT_POINTS_CHANGE | 205 | VDS_MOUNT_POINT_NOTIFICATION |
Verwante onderwerpen