CVssWriter::OnPostSnapshot-Methode (vswriter.h)

Die OnPostSnapshot-Methode wird von einem Writer nach einem PostSnapshot-Ereignis aufgerufen.

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

Syntax

bool OnPostSnapshot(
  [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 OnPostSnapshot 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.

CVssWriter::OnPostSnapshot wird in der Regel verwendet, um alle endgültigen Updates des Writers an den Metadaten der Sicherungskomponenten zu verarbeiten und sauber (z. B. das Entfernen temporärer Dateien).

Wenn eine inkrementelle oder differenzielle Sicherung ausgeführt wird, kann der Writer IVssComponent::GetPreviousBackupStamp und IVssComponent::SetBackupStamp aufrufen. Weitere Informationen finden Sie unter Writer-Rolle beim Sichern komplexer Speicher. Eine weitere Methode, die zu diesem Zeitpunkt aufgerufen werden kann, ist IVssComponent::AddDifferencedFilesByLastModifyTime.

Der größte Teil der Arbeit, die erforderlich ist, um den Writer in den normalen Betrieb zurückzukehren (das Umkehren der Aktionen von CVssWriter::OnPrepareSnapshot und CVssWriter::OnFreeze) erfolgt in der Regel in CVssWriter::OnThaw, nicht in OnPostSnapshot.

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

Wenn für die Schattenkopie das flag VSS_VOLSNAP_ATTR_AUTORECOVER im Kontext festgelegt ist, sollte der Writer alle erforderlichen Wiederherstellungen durchführen (z. B. Rollback unvollständiger Transaktionen), sodass die Komponente für eine schreibgeschützte Kopie für Data Mining (ohne Last für den Liveserver) oder wiederherzustellen (z. B. zum Wiederherstellen ausgewählter Elemente aus einer Datenbank) verwendet werden kann.

Führen Sie die folgenden Schritte aus, um den Volumenamen der Schattenkopie eines Volumes abzurufen:

  1. Rufen Sie die CVssWriter::GetCurrentVolumeCount-Methode auf, um die Anzahl der Volumes im Schattenkopiesatz abzufragen.
  2. Rufen Sie die CVssWriter::GetCurrentVolumeArray-Methode auf, um die ursprünglichen Namen der Volumes im Schattenkopiesatz aufzulisten.
  3. Rufen Sie CVssWriter::GetSnapshotDeviceName auf, um den Namen des Schattenkopievolumes abzurufen.
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

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

CVssWriter::OnPreRestore

CVssWriter::OnPrepareBackup

CVssWriter::SetWriterFailure

CvssWriter::OnThaw

IVssWriterComponents