IVssSoftwareSnapshotProvider::D eleteSnapshots 方法 (vsprov.h)

删除一个或多个卷影副本或卷影副本集。

语法

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_OBJECT_NOT_FOUND
找不到指定的卷影副本。
VSS_E_PROVIDER_VETO
提供程序错误。 提供程序在事件日志中记录了错误。 有关详细信息,请参阅 VSS 下的事件和错误处理

注解

按顺序删除卷影副本集中的多个卷影副本。 如果在其中一个单独删除过程中发生错误, DeleteSnapshots 将立即返回;不会尝试删除任何剩余的卷影副本。 未删除的卷影副本的VSS_ID以 pNondeletedSnapshotID 返回

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 vsprov.h
Library VssApi.lib

另请参阅

IVssSoftwareSnapshotProvider