Метод IVssBackupComponents::BackupComplete (vsbackup.h)

Метод BackupComplete приводит к тому, что VSS создает событие BackupComplete , которое сообщает о завершении процесса резервного копирования.

Синтаксис

HRESULT BackupComplete(
  [out] IVssAsync **ppAsync
);

Параметры

[out] ppAsync

Вдвойне косвенный указатель на экземпляр IVssAsync .

Возвращаемое значение

Ниже приведены допустимые коды возврата для этого метода.

Значение Значение
S_OK
Успешно возвращен указатель на экземпляр интерфейса IVssAsync . Допустимые значения, возвращаемые параметром pHrResult, см. в разделе IVssAsync::QueryStatus.
E_INVALIDARG
ppAsync не указывает на допустимый указатель; то есть имеет значение NULL.
E_OUTOFMEMORY
Вызывающий объект не имеет памяти или других системных ресурсов.
VSS_E_BAD_STATE
Объект компонента резервной копии не инициализирован, этот метод был вызван во время операции восстановления или этот метод не был вызван в правильной последовательности.
VSS_E_UNEXPECTED
Непредвиденная ошибка. Код ошибки регистрируется в файле журнала ошибок. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS.

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается до Windows Server 2008 R2 и Windows 7. вместо этого используется E_UNEXPECTED.

VSS_E_UNEXPECTED_WRITER_ERROR
Непредвиденная ошибка во время взаимодействия с средствами записи. Код ошибки регистрируется в файле журнала ошибок. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS.

Комментарии

При работе в режиме компонентов (IVssBackupComponents::SetBackupState был вызван с аргументом select components true) записи могут определить успешное или неудачное резервное копирование любого компонента, явно включенного в компоненты документа компонентов резервного копирования, с помощью IVssComponent::GetBackupSucceeded. Поэтому приложение резервного копирования (инициатор запроса) должно вызывать IVssBackupComponents::SetBackupSucceeded после обработки каждого компонента и перед вызовом BackupComplete.

Не вызывайте этот метод, если вызов IVssBackupComponents::D oSnapshotSet завершился сбоем. Дополнительные сведения о том, как инициаторы запроса используют DoSnapshotSet, SetBackupSucceededed и BackupComplete в операции резервного копирования, см. в разделах Обзор задач предварительного резервного копирования и Обзор фактического резервного копирования файлов.

Эта операция является асинхронной. Вызывающий объект может использовать метод интерфейса QueryStatus в возвращенном интерфейсе IVssAsync для определения состояния уведомления.

После вызова BackupComplete инициаторы запроса должны вызвать CollectWriterStatus , чтобы присвоить сеансу записи состояние завершено.

Примечание Это необходимо только в Windows Server 2008 с пакетом обновления 2 (SP2) и более ранних версиях.
 
Приложение резервного копирования может прервать резервное копирование в любое время после создания теневой копии, вызвав IVssAsync::Cancel.

Вызывающее приложение отвечает за вызов IUnknown::Release , чтобы освободить ресурсы, хранящиеся в возвращенном IVssAsync , когда он больше не нужен.

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header vsbackup.h (включая VsBackup.h, Vss.h, VsWriter.h)
Библиотека VssApi.lib

См. также раздел

IVssAsync

IVssAsync::Cancel

IVssAsync::QueryStatus

IVssBackupComponents

IVssBackupComponents::SetBackupState

IVssBackupComponents::SetBackupSucceededed