Freigeben über


CVssWriter::OnPrepareBackup-Methode (vswriter.h)

Die OnPrepareBackup-Methode wird von einem Writer nach einem PrepareForBackup-Ereignis aufgerufen. Diese Methode wird verwendet, um den Zustand eines Writers und seine Komponenten zur Vorbereitung eines Sicherungsvorgangs zu konfigurieren.

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

Syntax

bool OnPrepareBackup(
  [in] IVssWriterComponents *pComponent
);

Parameter

[in] pComponent

Zeiger auf eine Instanziierung eines IVssWriterComponents-Objekts , das den Inhalt des Writer-Metadatendokuments enthält. 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 OnPrepareBackup immer true zurück.

Jede andere Implementierung dieser Methode muss true zurückgeben, außer im Falle 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, in dem 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.

OnPrepareBackup bietet einem Writer die Möglichkeit, besser auszuwählen, was gesichert wird.

Die Behandlung des PrepareForBackup-Ereignisses ist die letzte Gelegenheit für einen Writer, zugriff auf Metadaten zu erhalten, die im Dokument sicherungskomponenten vor der Erstellung der Schattenkopie enthalten sind.

Daher bietet OnPrepareBackup dem Writer die Möglichkeit, alle endgültigen Ergänzungen oder Aktualisierungen an gespeicherten Komponenteninformationen vorzunehmen (mithilfe der IVssComponent-Schnittstelle ). Insbesondere können writerspezifische Metadaten von IVssComponent::SetBackupMetadata oder IVssComponent::SetRestoreMetadata aktualisiert werden.

Während die Behandlung des PrepareForSnapshot-Ereignisses eine weitere Möglichkeit im Lebenszyklus eines VSS-Sicherungsvorgangs bietet, zeitaufwändige Vorgänge auszuführen (z. B. das Synchronisieren von Daten über mehrere Standorte hinweg), bietet OnPrepareBackup dem Writer die Möglichkeit, einen solchen Vorgang asynchron zu starten. Aufgaben wie diese müssen vor der Rückgabe von CVssWriter::OnPrepareSnapshot abgeschlossen werden.

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

Ein Anforderer generiert ein PrepareForBackup-Ereignis , das einen Aufruf von OnPrepareBackup auslöst, indem er IVssBackupComponents::P repareForBackup aufruft.

Wenn diese Methode die CVssWriterEx2::GetSessionId-, CVssWriter::SetWriterFailure- oder CVssWriterEx2::SetWriterFailureEx-Methode aufruft, muss sie dies im selben Thread tun, 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 (enthalten Vss.h, VsWriter.h)
Bibliothek VssApi.lib

Weitere Informationen

CVssWriter

CVssWriter::OnPostSnapshot

CVssWriter::OnPreRestore

CVssWriter::SetWriterFailure

IVssWriterComponents