Gambaran Umum Pembersihan dan Penghentian Pemulihan
Setelah pemulihan, penulis memeriksa status operasi sehingga mereka dapat menggunakan data yang dipulihkan dan menangani kesalahan. Pemohon harus menunggu penyelesaian aktivitas ini. Untuk informasi selengkapnya, lihat Gambaran Umum Pemrosesan Pemulihan di bawah VSS.
Tabel berikut ini memperlihatkan urutan tindakan dan peristiwa yang diperlukan setelah operasi pemulihan berlangsung.
Tindakan pemohon | Kejadian | Tindakan penulis |
---|---|---|
Pemohon menunjukkan akhir pemulihan (lihat IVssBackupComponents::P ostRestore). | PostRestore | Penulis melakukan pembersihan pasca-pemulihan, dan menangani kegagalan pemulihan dan file yang telah dipulihkan ke lokasi nonstandar (lihat CVssWriter::OnPostRestore, IVssComponent). |
Pemohon menunggu penulis untuk menangani peristiwa PostRestore dengan IVssAsync. Ini juga harus memverifikasi status penulis (lihat IVssBackupComponents::GatherWriterStatus, IVssBackupComponents::GetWriterStatus). | Tidak ada | Tidak ada |
Pemohon merilis antarmuka IVssBackupComponents . | Tidak ada | Tidak ada |
Tindakan Pemohon selama Pembersihan dan Penghentian
Pada titik ini, pemohon menunjukkan akhir aktivitas pemulihan filenya dengan menghasilkan peristiwa PostRestore dengan memanggil IVssBackupComponents::P ostRestore.
Tindakan pemohon terbatas pada menunggu penulis, yang mungkin perlu melakukan beberapa pembersihan akhir dan menangani kesalahan pemulihan, dan merilis antarmuka IVssBackupComponents setelah semua penulis kembali dari menangani peristiwa PostRestore .
Tindakan Penulis selama Pembersihan dan Penghentian
Peristiwa PostRestore ditangani oleh metode virtual CVssWriter::OnPostRestore. Implementasi default hanya mengembalikan true tanpa mengambil tindakan apa pun. Jika penulis perlu menjalankan lebih banyak kontrol terhadap situasi pasca-pemulihan, penulis dapat mengambil alih metode ini.
Selain pembersihan normal (seperti menghapus file sementara) yang mungkin dilakukan penulis di CVssWriter::OnPostRestore, penulis dapat menangani keberhasilan atau kegagalan operasi pemulihan.
Cara menangani kesalahan pemulihan, file yang dipulihkan ke lokasi alternatif, dan kebutuhan akan pemulihan di masa mendatang sepenuhnya sesuai kebijaksanaan penulis. Tindakan umum mungkin termasuk membandingkan file di lokasi alternatif atau baru dengan file yang saat ini digunakan, menggabungkan data dari beberapa file, atau memulai sesi baru yang tersambung ke file data baru. VSS menyediakan mekanisme berikut untuk mendukung ini berdasarkan komponen demi komponen:
- Keberhasilan atau kegagalan dalam memulihkan komponen apa pun dapat ditemukan dengan IVssComponent::GetFileRestoreStatus.
- Penggunaan pemetaan lokasi alternatif dalam memulihkan file akan ditunjukkan oleh IVssComponent::GetAlternateLocationMapping.
- Menentukan apakah pemulihan bertahap dan akan memerlukan pemulihan lebih lanjut dilakukan dengan memanggil IVssComponent::GetAdditionalRestores. Penulis yang membutuhkan pemulihan lengkap data mereka tidak boleh dimulai ulang sampai metode ini mengembalikan false.
- Penulis dapat menentukan apakah pemohon perlu memulihkan file ke lokasi yang sebelumnya tidak ditentukan menggunakan IVssComponent::GetNewTargetCount dan IVssComponent::GetNewTarget
(Untuk informasi selengkapnya tentang memulihkan file ke lokasi non-default, lihat Lokasi Pencadangan dan Pemulihan Non-Default.)
Seperti halnya metode IVssComponent , informasi yang dikembalikan oleh instans tertentu berlaku untuk komponen tersebut yang secara eksplisit disertakan untuk pencadangan dan salah satu yang disertakan secara implisit untuk subkomponen cadangan, termasuk subkomponen yang secara eksplisit disertakan untuk pemulihan oleh pemohon menggunakan IVssBackupComponents::AddRestoreSubcomponent (lihat Bekerja dengan Selectability For Restore dan Subkomponen untuk detailnya).
Karena penulis akan memerlukan akses ke Dokumen Komponen Cadangan, penting bagi pemohon untuk tidak merilis antarmuka IVssBackupComponents hingga penulis selesai memproses.