Поделиться через


Определение состояния записи

Запрашивающий объект должен иметь четкое представление о состоянии записи, который участвует в нем во время создания теневого копирования, а также во время операций резервного копирования и восстановления. Для этого рекомендуется:

IVssBackupComponents::P repareForBackup

IVssBackupComponents::D oSnapshotSet

IVssBackupComponents::BackupComplete

Во время операций восстановления запрашивающий объект должен запрашивать средство записи после завершения следующих методов:

IVssBackupComponents::P reStore

IVssBackupComponents::P ostRestore

  • Вызовы IVssBackupComponents::CollectWriterStatus, которые не являются частью четко определенной последовательности резервного копирования или восстановления, не предоставляют надежное изображение состояния записи, так как они могут отражать условия, которые не указывают на сбой в текущей операции, например:
    • Сбой предыдущего создания теневого копирования
    • Ошибка в ранней операции резервного копирования или восстановления
    • Неответственный модуль записи в настоящее время обрабатывает событие

Таким образом, разработчики не должны полагаться на состояние записи, возвращаемое процессами, кроме запрашивающего или пытаться отслеживать ход выполнения одного экземпляра интерфейса IVssBackupComponents с другим (возможно, в отдельном потоке).

Обратите внимание, что для операций резервного копирования, где необходимо проверить документы метаданных записи писателя, не требуется вызов запрашивающего объекта IVssBackupComponents::CollectWriterStatus и IVssBackupComponents::GetWriterStatus после создания и обработки события идентификации, вызванного IVssBackupComponents::CollectWriterMetdata.

IVssBackupComponents::GetWriterStatus сообщает только состояние тех писателей, метаданные которых были предоставлены обработчикам событий для записи с помощью обработчиков событий записи, CVssWriter::OnIdentify (и возвращены запросу IVssBackupComponents::GetWriterMetadataCount и IVssBackupComponents::GetWriterMetadatas).

Если реализация записи CVssWriter::OnIdentify завершается сбоем, метаданные модуля записи не будут частью списка документов метаданных записи, предоставленных VSS, сведения о состоянии не будут доступны, и вызов будет избыточным.

Для операций восстановления, где запрашивающий объект не должен проверять документы метаданных записи для выполнения операций записи, вызывая IVssBackupComponents::CollectWriterStatus и IVssBackupComponents::GetWriterStatus, может быть более эффективным способом определить, какие записи выполняются.