VDS-Benachrichtigungen

[Ab Windows 8 und Windows Server 2012 wird die COM-Schnittstelle des Virtual Disk Service durch die Windows Storage Verwaltungs-APIersetzt.]

Ein Anbieter kann eine Ereignisbenachrichtigung an VDS senden, und VDS kann die Benachrichtigung wiederum an Anwendungen weiterleiten. Das von VDS verwendete Benachrichtigungsmodell ähnelt dem Verbindungspunktmodell, das von COM-Objekten verwendet wird.

VDS generiert Dienstbenachrichtigungen für Ereignisse wie eine Laufwerkbuchstabenzuweisung oder den Eingang eines nicht zugeordneten Datenträgers. Sobald VDS einem Anbieter einen Datenträger zuordnet, ist der Anbieter für das Generieren der zugeordneten Benachrichtigungen verantwortlich. Die folgende Abbildung zeigt die Schnittstellen und Methoden, die im VDS-Benachrichtigungsmodell verwendet werden.

Diagramm, das die Schnittstelle und die Methoden (Advise, OnLoad und OnNotify) zwischen Anwendungen, Virtual Disk Service und V D S-Anbietern zeigt.

Zum Empfangen von Benachrichtigungen registriert VDS seine IVdsAdviseSink-Schnittstelle beim Anbieterobjekt, indem die IVdsProviderPrivate::OnLoad-Methode aufgerufen und ein Zeiger an die Schnittstelle übergeben wird. Wenn ein Benachrichtigungsereignis auftritt, z. B. das Eintreffen eines neuen Volumes oder Laufwerks, übergibt der Anbieter die entsprechende Benachrichtigungsstruktur als IVdsAdviseSink::OnNotify-Methodenparameter an VDS.

Der Prozess ist zwischen einer Anwendung und VDS ähnlich. Um Benachrichtigungen zu empfangen, registriert eine Anwendung ihre IVdsAdviseSink-Schnittstelle bei VDS, indem sie die IVdsService::Advise-Methode aufruft und einen Zeiger an die Schnittstelle übergibt. Wenn VDS eine Benachrichtigung von einem Anbieter empfängt, übergibt es die entsprechende Benachrichtigungsstruktur als IVdsAdviseSink::OnNotify-Methodenparameter an registrierte Anwendungen.

Hinweis

Eine Anwendung, die Advise aufruft, muss schließlich die IVdsService::Unadvise-Methode aufrufen. Im Idealfall sollte unadvise aufgerufen werden, sobald keine Benachrichtigungen mehr empfangen werden müssen.

In der folgenden Tabelle werden die vom Anbieter generierten Benachrichtigungen nach Objekttyp aufgelistet.

Object Benachrichtigung Wert Link zur Ereignisbeschreibung
Pack VDS _ NF _ PACK _ ARRIVE 1 VDS _ _ PACK-BENACHRICHTIGUNG
Pack VDS _ NF _ _ PACK(EN) 2 VDS _ _ PACK-BENACHRICHTIGUNG
Pack VDS _ NF _ PACK _ MODIFY 3 VDS _ _ PACK-BENACHRICHTIGUNG
Volume VDS _ NF _ VOLUME _ ARRIVE 4 _VDS-VOLUMEBENACHRICHTIGUNG _
Volume VDS _ NF VOLUME AUS DEM _ _ VOLUME 5 _VDS-VOLUMEBENACHRICHTIGUNG _
Volume VDS _ NF _ VOLUME _ MODIFY 6 _VDS-VOLUMEBENACHRICHTIGUNG _
Volume VDS _ NF _ VOLUME _ REBUILDING _ PROGRESS 7 _VDS-VOLUMEBENACHRICHTIGUNG _
Datenträger VDS _ NF _ DISK _ ARRIVE 8 VDS _ DISK _ NOTIFICATION
Datenträger VDS _ NF _ DISK _ AUSWEICHEN 9 VDS _ DISK _ NOTIFICATION
Datenträger VDS _ NF _ DISK _ MODIFY 10 VDS _ DISK _ NOTIFICATION
Partition VDS _ NF _ PARTITION _ ARRIVE 11 _VDS-PARTITIONSBENACHRICHTIGUNG _
Partition VDS _ _ NF-PARTITIONSABWANDERER _ 12 _VDS-PARTITIONSBENACHRICHTIGUNG _
Partition VDS _ NF _ PARTITION _ MODIFY 13 _VDS-PARTITIONSBENACHRICHTIGUNG _
Subsystem VDS _ NF _ SUB _ SYSTEM _ ARRIVE 101 _ _ VDS-UNTERSYSTEMBENACHRICHTIGUNG _
Subsystem VDS _ NF SUB SYSTEM AUS DEM _ _ _ SYSTEM 102 _ _ VDS-UNTERSYSTEMBENACHRICHTIGUNG _
Subsystem VDS _ NF _ SUB _ SYSTEM _ MODIFY 151 _ _ VDS-UNTERSYSTEMBENACHRICHTIGUNG _
Controller VDS _ NF _ CONTROLLER _ ARRIVE 103 _VDS-CONTROLLERBENACHRICHTIGUNG _
Controller VDS _ NF _ CONTROLLER _ CONTROLLERS 104 _VDS-CONTROLLERBENACHRICHTIGUNG _
Controller VDS _ NF _ CONTROLLER _ MODIFY 350 _VDS-CONTROLLERBENACHRICHTIGUNG _
Controller VDS _ NF _ CONTROLLER _ ENTFERNT 351 _VDS-CONTROLLERBENACHRICHTIGUNG _
Port VDS _ NF _ PORT _ MODIFY 352 _VDS-PORTBENACHRICHTIGUNG _
Port VDS _ _ NF-PORT _ ENTFERNT 353 _VDS-PORTBENACHRICHTIGUNG _
Laufwerk VDS _ NF _ DRIVE _ ARRIVE 105 _VDS-LAUFWERKBENACHRICHTIGUNG _
Laufwerk VDS _ NF DRIVE AUS DEM _ _ LAUFWERK 106 _VDS-LAUFWERKBENACHRICHTIGUNG _
Laufwerk VDS _ NF _ DRIVE _ MODIFY 107 _VDS-LAUFWERKBENACHRICHTIGUNG _
Laufwerk VDS _ _ NF-LAUFWERK _ ENTFERNT 354 _VDS-LAUFWERKBENACHRICHTIGUNG _
LUN VDS _ NF _ LUN _ ARRIVE 108 _ _ VDS-LUN-BENACHRICHTIGUNG
LUN VDS _ NF _ _ LUNS 109 _ _ VDS-LUN-BENACHRICHTIGUNG
LUN VDS _ NF _ LUN _ MODIFY 110 _ _ VDS-LUN-BENACHRICHTIGUNG

VDS generiert die verbleibenden Benachrichtigungen. In der folgenden Tabelle sind dienstbasierte Benachrichtigungskonstanten nach Kategorie aufgeführt.

Category Benachrichtigung Wert Link zur Ereignisbeschreibung
Datenträger VDS _ NF _ DISK _ ARRIVE 8 VDS _ DISK _ NOTIFICATION
Datenträger VDS _ NF _ DISK _ AUSWEICHEN 9 VDS _ DISK _ NOTIFICATION
Datenträger VDS _ NF _ DISK _ MODIFY 10 VDS _ DISK _ NOTIFICATION
Laufwerkbuchstabe VDS _ NF _ DRIVE _ LETTER _ FREE 201 _ _ VDS-LAUFWERKBUCHSTABENBENACHRICHTIGUNG _
Laufwerkbuchstabe VDS _ _ NF-LAUFWERKBUCHSTABE _ _ ZUWEISEN 202 _ _ VDS-LAUFWERKBUCHSTABENBENACHRICHTIGUNG _
Dateisystem VDS _ NF _ FILE _ SYSTEM _ MODIFY 203 _ _ VDS-DATEISYSTEMBENACHRICHTIGUNG _
Dateisystem STATUS DES VDS _ _ _ NF-DATEISYSTEMFORMATS _ _ 204 _ _ VDS-DATEISYSTEMBENACHRICHTIGUNG _
Volume ÄNDERUNG DER _ VDS-NF-BEREITSTELLUNGSPUNKTE _ _ _ 205 _ _ VDS-BEREITSTELLUNGSPUNKTBENACHRICHTIGUNG _

VDS-Objektmodell

IVdsAdviseSink

IVdsAdviseSink::OnNotify

IVdsProviderPrivate::OnLoad

IVdsService::Advise