Freigeben über


CVssWriter::OnBackupShutdown-Methode (vswriter.h)

Die OnBackupShutdown-Methode wird nach einem BackupShutdown-Ereignis von einem Writer aufgerufen. Es wird verwendet, um Vorgänge auszuführen, die als notwendig erachtet werden, wenn eine Sicherungsanwendung heruntergefahren wird, insbesondere im Falle eines Absturzes der Sicherungsanwendung.

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

Syntax

bool OnBackupShutdown(
  [in] VSS_ID SnapshotSetId
);

Parameter

[in] SnapshotSetId

Bezeichner für den Schattenkopiersatz, der am Sicherungsvorgang beteiligt ist.

Rückgabewert

Wie von der Basisklasse implementiert, gibt OnBackupShutdown 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 der Writer beim Herunterfahren einer Sicherungsanwendung spezielle Vorgänge ausführen soll, kann die Standardimplementierung überschrieben werden.

Wenn keine Schattenkopie erfolgreich durchgeführt wurde, ist der Wert des Schattenkopiersatzbezeichners (SnapshotSetId) NULL.

Ein BackupShutdown-Ereignis wird generiert, wenn eine Sicherungsanwendung tatsächlich beendet wird und ihre IVssBackupComponents freigegeben werden.

Für das BackupComplete-Ereignis muss die Sicherungsanwendung die Sicherung entweder erfolgreich abschließen oder ordnungsgemäß fehlschlagen. Dies ist möglicherweise nicht der Fall, wenn die Sicherungsanwendung vor Abschluss der Sicherung vom System beendet oder manuell beendet wird (für instance, wenn der Sicherungsvorgang unterbrochen und heruntergefahren werden musste).

Aus diesem Grund ist ein BackupShutdown-Ereignis ein robusteres Signal für das Ende einer Sicherungsanwendung als das BackupComplete-Ereignis .

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

Jede Writer-spezifische Implementierung von OnBackupShutdown sollte überprüfen, ob ein BackupComplete-Ereignis behandelt wurde. Es sollte sicherstellen, dass alle erforderlichen Writerbereinigungsvorgänge nach einer Sicherung (erfolgreich oder anderweitig) vorgeformt sind.

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

   
Unterstützte Mindestversion (Client) Windows Vista [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::OnBackupComplete

CVssWriter::SetWriterFailure

IVssBackupComponents::BackupComplete