Freigeben über


CVssWriter::OnPrepareSnapshot-Methode (vswriter.h)

Die OnPrepareSnapshot-Methode wird von einem Writer aufgerufen, um ein PrepareForSnapshot-Ereignis zu behandeln. Es wird verwendet, um Vorgänge auszuführen, die erforderlich sind, um einen Writer auf die Teilnahme an der Schattenkopie vorzubereiten oder ein Veto gegen eine Schattenkopie durchzuführen.

OnPrepareSnapshot ist eine reine virtuelle Methode. Sie wird nicht von der CVssWriter-Basisklasse implementiert und muss von abgeleiteten Klassen implementiert werden.

Syntax

bool OnPrepareSnapshot();

Rückgabewert

Die 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 OnPrepareSnapshot-Methode führt Vorgänge aus, die vor dem Einfrieren von Schattenkopien erforderlich sind.

Das Timeoutfenster für die Behandlung eines PrepareForSnapshot-Ereignisses ist in der Regel länger als das für die Behandlung eines Freeze-Ereignisses . Daher können Entwickler OnPrepareSnapshot verwenden, um zeitaufwändigere Vorgänge zu verarbeiten. Eine typische Verwendung kann sein, dass der Writer seine Daten explizit prüft.

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 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::OnAbort

CVssWriter::OnFreeze

CVssWriter::OnThaw

CVssWriter::SetWriterFailure