判斷寫入器狀態

要求者必須充分瞭解在陰影複製建立期間以及備份和還原作業期間,參與寫入器的狀態。 若要這樣做,建議您:

IVssBackupComponents::P repareForBackup

IVssBackupComponents::D oSnapshotSet

IVssBackupComponents::BackupComplete

在還原作業期間,要求者應該在完成下列方法之後查詢寫入器:

IVssBackupComponents::P reRestore

IVssBackupComponents::P ostRestore

因此,開發人員不應依賴要求者以外的進程所傳回的 寫入器狀態,或嘗試監視 IVssBackupComponents 介面某個實例的進度與另一個實例(可能位於個別線程中)。

請注意,針對備份作業,在檢查寫入器的寫入器元數據檔時,不需要要求者呼叫 IVssBackupComponents::GatherWriterStatusIVssBackupComponents::GetWriterStatus,並遵循 IVssBackupComponents::GatherWriterMetdata 所產生的識別事件。

IVssBackupComponents::GetWriterStatus 只會報告那些寫入器元數據由寫入者識別事件處理程式提供給 VSS 的寫入器狀態,CVssWriter::OnIdentify (並由 IVssBackupComponents::GetWriterMetadataCount IVssBackupComponents::GetWriterMetadata 傳回給要求者)。

如果寫入器的 CVssWriter::OnIdentify作失敗,該寫入器的元數據將不會是提供給 VSS 的寫入器元數據檔清單的一部分,不會提供任何狀態資訊,而且呼叫會是多餘的。

針對還原作業,要求者不需要檢查執行寫入器的寫入器元數據檔、呼叫 IVssBackupComponents::GatherWriterStatus IVssBackupComponents::GetWriterStatus 可能是判斷哪些寫入器正在執行的更有效率的方式。