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

Метод DeleteSnapshots удаляет одну или несколько теневых копий или набор теневого копирования.

Синтаксис

HRESULT DeleteSnapshots(
  [in]  VSS_ID          SourceObjectId,
  [in]  VSS_OBJECT_TYPE eSourceObjectType,
  [in]  BOOL            bForceDelete,
  [out] LONG            *plDeletedSnapshots,
  [out] VSS_ID          *pNondeletedSnapshotID
);

Параметры

[in] SourceObjectId

Идентификатор теневой копии или набора теневых копий, которые необходимо удалить.

[in] eSourceObjectType

Тип объекта, для которого будут удалены все теневые копии. Значение этого параметра равно VSS_OBJECT_SNAPSHOT или VSS_OBJECT_SNAPSHOT_SET.

[in] bForceDelete

Если этот параметр имеет значение TRUE, поставщик сделает все возможное, чтобы удалить теневую копию или теневые копии в наборе теневого копирования. Если он имеет значение FALSE, никаких дополнительных усилий не будет предпринят.

[out] plDeletedSnapshots

Количество удаленных теневых копий.

[out] pNondeletedSnapshotID

При возникновении ошибки значение этого параметра является идентификатором первой теневой копии, которую не удалось удалить. В противном случае это GUID_NULL.

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

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

Значение Значение
S_OK
Теневые копии успешно удалены.
E_ACCESSDENIED
Вызывающий объект не имеет достаточных прав на резервное копирование или не является администратором.
E_INVALIDARG
Одно из значений параметра является недопустимым.
E_OUTOFMEMORY
Вызывающий объект не имеет памяти или других системных ресурсов.
VSS_E_UNEXPECTED
Непредвиденная ошибка. Код ошибки регистрируется в файле журнала ошибок. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS.

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

VSS_E_OBJECT_NOT_FOUND
Указанная теневая копия не существует.
VSS_E_PROVIDER_VETO
Ожидаемая ошибка поставщика. Поставщик зарегистрировал ошибку в журнале событий. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS.
VSS_E_UNEXPECTED_PROVIDER_ERROR
Непредвиденная ошибка поставщика. Код ошибки регистрируется в журнале ошибок. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS.

Комментарии

Несколько теневых копий в наборе теневого копирования удаляются последовательно. Если во время одного из этих отдельных удалений возникает ошибка, deleteSnapshots возвращается немедленно; Не будет предпринята попытка удалить все оставшиеся теневые копии. VSS_ID отмененной теневой копии возвращается в pNondeletedSnapshotID.

Инициатор запроса отвечает за сериализацию операции удаления теневого копирования.

Во время резервного копирования теневые копии автоматически освобождаются сразу после выпуска экземпляра IVssBackupComponents . В этом случае нет необходимости явно удалять теневые копии.

Требования

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

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

IVssBackupComponents

IVssBackupComponents::StartSnapshotSet

VSS_ID