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。
返回值
下面是此方法的有效返回代码。
值 | 含义 |
---|---|
|
已成功删除卷影副本。 |
|
调用方没有足够的备份权限或不是管理员。 |
|
其中一个参数值无效。 |
|
调用方内存或其他系统资源不足。 |
|
意外错误。 错误代码记录在错误日志文件中。 有关详细信息,请参阅 VSS 下的事件和错误处理。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前不支持此值。 改用E_UNEXPECTED。 |
|
指定的卷影副本不存在。 |
|
预期的提供程序错误。 提供程序在事件日志中记录了错误。 有关详细信息,请参阅 VSS 下的事件和错误处理。 |
|
意外的提供程序错误。 错误代码记录在错误日志中。 有关详细信息,请参阅 VSS 下的事件和错误处理。 |
注解
按顺序删除卷影副本集中的多个卷影副本。 如果在其中一个单独删除过程中发生错误, DeleteSnapshots 将立即返回;不会尝试删除任何剩余的卷影副本。 未删除的卷影副本 VSS_ID 以 pNondeletedSnapshotID 返回。
请求者负责序列化删除卷影复制操作。
在备份期间,一旦 释放 IVssBackupComponents 实例,卷影副本就会自动释放。 在这种情况下,无需显式删除卷影副本。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | vsbackup.h (包括 VsBackup.h、Vss.h、VsWriter.h) |
Library | VssApi.lib |