Freigeben über


CVssWriter::OnBackupComplete-Methode (vswriter.h)

Die OnBackupComplete-Methode wird nach einem BackupComplete-Ereignis von einem Writer aufgerufen. Es wird verwendet, um Vorgänge auszuführen, die nach einer Sicherung als notwendig erachtet werden. Diese Vorgänge können das Dokument "Sicherungskomponenten" jedoch nicht ändern.

OnBackupComplete ist eine virtuelle Methode. Sie wird von der CVssWriter-Basisklasse implementiert, kann aber von abgeleiteten Klassen überschrieben werden.

Syntax

bool OnBackupComplete(
  [in] IVssWriterComponents *pComponent
);

Parameter

[in] pComponent

Ein Zeiger auf ein IVssWriterComponents-Objekt , das von VSS übergeben wird, um der Methode Zugriff auf die Komponenteninformationen des Writers zu gewähren. Der Wert dieses Parameters kann NULL sein, wenn der Anforderer keine Komponenten unterstützt (wenn CVssWriter::AreComponentsSelectedfalse zurückgibt).

Rückgabewert

Wie von der Basisklasse implementiert, gibt OnBackupComplete immer true zurück.

Jede andere Implementierung dieser Methode sollte true zurückgeben, außer im Fall eines schwerwiegenden Fehlers. Wenn ein schwerwiegender Fehler auftritt, muss die -Methode die CVssWriter::SetWriterFailure-Methode aufrufen, um eine Beschreibung des Fehlers bereitzustellen, bevor false zurückgegeben wird. Wenn ein nicht schwerwiegender Fehler auftritt, sollte die Methode weiterhin SetWriterFailure aufrufen, aber true zurückgeben. Wenn der Fehler durch ein vorübergehendes Problem verursacht wird, sollte die Methode VSS_E_WRITERERROR_RETRYABLE im Aufruf von SetWriterFailure angeben.

In allen Fällen, wenn ein Fehler auftritt, sollte die Methode ein Ereignis in das Ereignisprotokoll schreiben, um den genauen Grund für den Fehler zu melden.

Hinweise

Die Standardimplementierung dieser Methode durch die CVssWriter-Basisklasse gibt true zurück, ohne einen anderen Vorgang auszuführen.

Wenn vom Writer am Ende einer Sicherung spezielle Vorgänge ausgeführt werden sollen, kann die Standardimplementierung überschrieben werden.

Mit der Generierung eines BackupComplete-Ereignisses wird das Dokument der Sicherungskomponenten eines Anforderers zu einem schreibgeschützten Dokument. Daher schlagen Versuche, das Dokument über die Schnittstelle zu ändern (für instance IVssComponent::SetBackupMetadata aufrufen) in Benutzerimplementierungen von OnBackupComplete fehl.

Eine erfolgreiche Sicherungsanwendung generiert ein BackupComplete-Ereignis , wenn alle Daten auf Sicherungsmedien gespeichert wurden.

Es gibt jedoch keine Garantie dafür, dass der Writer eine BackupComplete-Ereignisbenachrichtigung erhält, da diese die Sicherungsanwendung entweder erfolgreich abschließen oder ordnungsgemäß fehlschlagen.

Ein BackupComplete-Ereignis kann nicht generiert werden, wenn die Sicherungsanwendung vom System oder manuell vor Abschluss der Sicherung beendet wird (für instance, wenn der Sicherungsvorgang unterbrochen und heruntergefahren werden musste).

Ein Writer sollte Zustandsinformationen beibehalten, damit er nachverfolgen kann, ob ein BackupComplete-Ereignis für einen bestimmten Schattenkopiersatz gesendet wurde.

Diese Informationen können vom BackupShutdown-Ereignishandler eines Writers (CVssWriter::OnBackupShutdown) verwendet werden, der aufgerufen wird, wenn eine Sicherungsanwendung tatsächlich beendet wird und ihre IVssBackupComponents freigegeben werden, um Bereinigungsvorgänge auszuführen, falls kein Aufruf von OnBackupComplete erfolgt.

Writer sollten niemals eine Ausnahme von dieser Methode oder einer anderen CVssWriter(Ex)::OnXxx-Rückrufmethode auslösen.

Wenn diese Methode die CVssWriterEx2::GetSessionId-, CVssWriter::SetWriterFailure- oder CVssWriterEx2::SetWriterFailureEx-Methode aufruft, muss dies im selben Thread erfolgen, der diese Methode aufgerufen hat. Weitere Informationen finden Sie unter Writer-Ereignisbehandlung.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile vswriter.h (einschließlich Vss.h, VsWriter.h)
Bibliothek VssApi.lib

Weitere Informationen

CVssWriter

CVssWriter::SetWriterFailure

IVssBackupComponents

IVssWriterComponents