Delen via


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.

diagram met de interface en methoden (Adviseren, OnLoad en OnNotify) tussen toepassingen, virtuele schijfservice en V D S-providers.

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

 

VDS-objectmodel

IVdsAdviseSink-

IVdsAdviseSink::OnNotify

IVdsProviderPrivate::OnLoad

IVdsService::Adviseren