Übersicht über Wiederherstellungsbereinigung und -beendigung
Nach einer Wiederherstellung überprüfen Autoren die status des Vorgangs, damit sie die wiederhergestellten Daten nutzen und Fehler beheben können. Der Anforderer muss auf den Abschluss dieser Aktivität warten. Weitere Informationen finden Sie unter Übersicht über die Verarbeitung einer Wiederherstellung unter VSS.
Die folgende Tabelle zeigt die Reihenfolge der Aktionen und Ereignisse, die nach einem Wiederherstellungsvorgang erforderlich sind.
Anfordereraktion | Ereignis | Writer-Aktion |
---|---|---|
Der Anforderer gibt das Ende der Wiederherstellung an (siehe IVssBackupComponents::P ostRestore). | PostRestore | Der Writer führt die Bereinigung nach der Wiederherstellung durch und behandelt Wiederherstellungsfehler und Dateien, die an nicht standardmäßigen Speicherorten wiederhergestellt wurden (siehe CVssWriter::OnPostRestore, IVssComponent). |
Der Anforderer wartet auf Writer, um das PostRestore-Ereignis mit IVssAsync zu behandeln. Außerdem sollte writer status überprüft werden (siehe IVssBackupComponents::GatherWriterStatus, IVssBackupComponents::GetWriterStatus). | Keine | Keine |
Der Anforderer gibt die IVssBackupComponents-Schnittstelle frei. | Keine | Keine |
Anfordereraktionen während der Bereinigung und Beendigung
An diesem Punkt gibt ein Anforderer das Ende seiner Dateiwiederherstellungsaktivitäten an, indem ein PostRestore-Ereignis generiert wird, indem er IVssBackupComponents::P ostRestore aufruft.
Die Aktionen des Anfordernden beschränken sich auf das Warten auf die Autoren, die möglicherweise eine endgültige Bereinigung und Behandlung von Wiederherstellungsfehlern durchführen müssen, und die IVssBackupComponents-Schnittstelle freigeben, nachdem alle Autoren von der Behandlung des PostRestore-Ereignisses zurückgekehrt sind.
Writeraktionen während der Bereinigung und Beendigung
Das PostRestore-Ereignis wird von der virtuellen Methode CVssWriter::OnPostRestore behandelt. Die Standardimplementierung gibt einfach true zurück, ohne eine Aktion zu ergreifen. Wenn ein Writer mehr Kontrolle über die Situation nach der Wiederherstellung ausüben muss, kann er diese Methode überschreiben.
Zusätzlich zu allen normalen Bereinigungen (z. B. dem Entfernen temporärer Dateien), die ein Writer möglicherweise in CVssWriter::OnPostRestore ausführt, kann er den Erfolg oder Fehler von Wiederherstellungsvorgängen behandeln.
Die Behandlung von Wiederherstellungsfehlern, dateien, die an einem alternativen Speicherort wiederhergestellt wurden, und die Notwendigkeit zukünftiger Wiederherstellungen liegt vollständig im Ermessen des Schreibers. Typische Aktionen können das Vergleichen von Dateien an alternativen oder neuen Speicherorten mit derzeit verwendeten Dateien, das Zusammenführen von Daten aus mehreren Dateien oder das Starten neuer Sitzungen, die mit den neuen Datendateien verbunden sind, umfassen. VSS stellt die folgenden Mechanismen bereit, um dies komponentenweise zu unterstützen:
- Erfolg oder Fehler beim Wiederherstellen einer Komponente finden Sie mit IVssComponent::GetFileRestoreStatus.
- Die Verwendung alternativer Speicherortzuordnungen beim Wiederherstellen von Dateien wird durch IVssComponent::GetAlternateLocationMapping angegeben.
- Die Ermittlung, ob eine Wiederherstellung inkrementell ist und weitere Wiederherstellungen erfordert, erfolgt durch Aufrufen von IVssComponent::GetAdditionalRestores. Autoren, die eine vollständige Wiederherstellung ihrer Daten benötigen, sollten erst neu starten, wenn diese Methode false zurückgibt.
- Writer können mithilfe von IVssComponent::GetNewTargetCount und IVssComponent::GetNewTargetCount und IVssComponent::GetNewTarget ermitteln, ob der Anforderer Dateien an einem zuvor nicht angegebenen Speicherort wiederherstellen muss.
(Weitere Informationen zum Wiederherstellen von Dateien an nicht standardmäßigen Speicherorten finden Sie unter Nicht standardmäßige Sicherungs- und Wiederherstellungsspeicherorte.)
Wie bei jeder IVssComponent-Methode gelten die von einem bestimmten instance zurückgegebenen Informationen für diese Komponenten, die explizit für die Sicherung enthalten sind, und für alle implizit für Sicherungsunterkomponenten eingeschlossenen Komponenten, einschließlich dieser Teilkomponenten, die explizit für die Wiederherstellung durch den Anfordernden mithilfe von IVssBackupComponents::AddRestoreSubcomponent enthalten sind (ausführliche Informationen finden Sie unter Arbeiten mit Auswahl für Wiederherstellung und Unterkomponenten).
Da die Autoren Zugriff auf das Dokument sicherungskomponenten benötigen, ist es wichtig, dass der Anforderer die IVssBackupComponents-Schnittstelle erst freigeben, wenn die Autoren die Verarbeitung abgeschlossen haben.