Bagikan melalui


CVssWriter::Metode OnPostSnapshot (vswriter.h)

Metode OnPostSnapshot dipanggil oleh penulis setelah peristiwa PostSnapshot .

OnPostSnapshot adalah metode virtual. Ini diimplementasikan oleh kelas dasar CVssWriter tetapi dapat ditimpa oleh kelas turunan.

Sintaks

bool OnPostSnapshot(
  [in] IVssWriterComponents *pComponent
);

Parameter

[in] pComponent

Pointer ke objek IVssWriterComponents yang diteruskan oleh VSS untuk menyediakan metode dengan akses ke informasi komponen penulis. Nilai parameter ini mungkin NULL jika pemohon tidak mendukung komponen (jika CVssWriter::AreComponentsSelected mengembalikan false).

Mengembalikan nilai

Seperti yang diimplementasikan oleh kelas dasar, OnPostSnapshot selalu mengembalikan true.

Implementasi lain dari metode ini harus mengembalikan true kecuali dalam kasus kesalahan fatal. Jika terjadi kesalahan fatal, metode harus memanggil metode CVssWriter::SetWriterFailure untuk memberikan deskripsi kegagalan sebelum mengembalikan false. Jika terjadi kesalahan nonfatal, metode harus tetap memanggil SetWriterFailure tetapi mengembalikan true. Jika kesalahan disebabkan oleh masalah sementara, metode harus menentukan VSS_E_WRITERERROR_RETRYABLE dalam panggilan ke SetWriterFailure.

Dalam semua kasus ketika kegagalan terjadi, metode harus menulis peristiwa ke log peristiwa untuk melaporkan alasan pasti kegagalan tersebut.

Keterangan

Implementasi default metode ini oleh kelas dasar CVssWriter mengembalikan true tanpa melakukan operasi lainnya.

CVssWriter::OnPostSnapshot biasanya digunakan untuk memproses pembaruan akhir oleh penulis ke metadata komponen cadangan dan pembersihan (seperti menghapus file sementara).

Jika pencadangan bertahap atau diferensial sedang dilakukan, penulis dapat memanggil IVssComponent::GetPreviousBackupStamp dan IVssComponent::SetBackupStamp. Untuk informasi selengkapnya, lihat Peran Penulis dalam Mencadangkan Penyimpanan Kompleks. Metode lain yang dapat dipanggil saat ini adalah IVssComponent::AddDifferencedFilesByLastModifyTime.

Sebagian besar pekerjaan yang diperlukan untuk mengembalikan penulis ke operasi normal (membalikkan tindakan CVssWriter::OnPrepareSnapshot dan CVssWriter::OnFreeze) biasanya dilakukan di CVssWriter::OnThaw, bukan di OnPostSnapshot.

Penulis tidak boleh melempar pengecualian dari metode ini atau CVssWriter (Ex): : Pada metode panggilan balikXxx .

Jika salinan bayangan memiliki bendera VSS_VOLSNAP_ATTR_AUTORECOVER yang diatur dalam konteks, penulis harus melakukan pemulihan apa pun yang diperlukan (misalnya, mengembalikan transaksi yang tidak lengkap) sehingga komponen akan dapat digunakan pada salinan baca-saja untuk penambangan data (tanpa menambahkan beban ke server langsung) atau memulihkan tujuan (misalnya, untuk memulihkan item yang dipilih dari database).

Untuk mengambil nama volume salinan bayangan volume, lakukan langkah-langkah berikut:

  1. Panggil metode CVssWriter::GetCurrentVolumeCount untuk mengkueri jumlah volume dalam kumpulan salinan bayangan.
  2. Panggil metode CVssWriter::GetCurrentVolumeArray untuk menghitung nama asli volume dalam set salinan bayangan.
  3. Panggil CVssWriter::GetSnapshotDeviceName untuk mengambil nama volume salinan bayangan.
Jika metode ini memanggil metode CVssWriterEx2::GetSessionId, CVssWriter::SetWriterFailure, atau CVssWriterEx2::SetWriterFailureEx , metode harus melakukannya dalam utas yang sama yang memanggil metode ini. Untuk informasi selengkapnya, lihat Penanganan Peristiwa Penulis.

Persyaratan

   
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header vswriter.h (termasuk Vss.h, VsWriter.h)
Pustaka VssApi.lib

Lihat juga

CVssWriter

CVssWriter::GetSnapshotDeviceName

CVssWriter::OnPreRestore

CVssWriter::OnPrepareBackup

CVssWriter::SetWriterFailure

CvssWriter::OnThaw

IVssWriterComponents