IVssBackupComponents::AddToSnapshotSet 方法 (vsbackup.h)
AddToSnapshotSet 方法将原始卷或原始远程文件共享添加到卷影副本集。
语法
HRESULT AddToSnapshotSet(
[in] VSS_PWSZ pwszVolumeName,
[in] VSS_ID ProviderId,
[out] VSS_ID *pidSnapshot
);
参数
[in] pwszVolumeName
以 Null 结尾的宽字符串,包含卷的名称或要卷影复制的远程文件共享的 UNC 路径。 名称或 UNC 路径必须使用以下格式之一,并且必须包含尾随反斜杠 (\) :
- 装载文件夹的路径,例如 Y:\MountX\
- 驱动器号,例如 D:\
- 格式为 \\?\Volume{GUID}\ (的卷 GUID 路径,其中 GUID 标识卷)
- 指定远程文件共享的 UNC 路径,例如 \\Clusterx\Share1\
[in] ProviderId
要使用的提供程序。 可以使用GUID_NULL,在这种情况下将使用默认提供程序。
[out] pidSnapshot
已添加卷影副本的返回标识符。
返回值
下面是此方法的有效返回代码。
值 | 含义 |
---|---|
|
已成功将卷或远程文件共享添加到卷影副本集。 |
|
调用方没有足够的备份权限或不是管理员。 |
|
其中一个参数值无效。 |
|
调用方内存不足或其他系统资源。 |
|
备份组件对象未初始化,在还原操作期间调用了此方法,或者尚未在正确的顺序中调用此方法。 |
|
卷或远程文件共享已添加到卷影复制集的最大数目。 指定的卷或远程文件共享未添加到卷影副本集。 |
|
卷或远程文件共享已添加到卷影复制集的最大数量。 指定的卷或远程文件共享未添加到卷影副本集。 |
|
指定的卷嵌套太深,无法参与 VSS 操作。 此错误的可能原因包括:
|
|
pwszVolumeName 不对应于现有卷或远程文件共享。 |
|
ProviderId 不对应于已注册的提供程序。 |
|
预期的提供程序错误。 提供程序在事件日志中记录了错误。 有关详细信息,请参阅 VSS 下的事件和错误处理。 |
|
另一个卷影副本创建已在进行中。 将 CSV 卷同时从多个节点添加到集快照,或者同时从多个 SMB 客户端节点将横向扩展共享添加到快照时发生。 |
|
ProviderId 参数的值GUID_NULL,并且没有 VSS 提供程序指示它支持指定的卷或远程文件共享。 |
|
指定的提供程序不支持卷或远程文件共享。 |
|
意外错误。 错误代码记录在错误日志文件中。 有关详细信息,请参阅 VSS 下的事件和错误处理。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前,不支持此值。 改用E_UNEXPECTED。 |
|
提供程序返回了意外的错误代码。 此错误代码仅通过 ppAsync 参数中返回的 IVssAsync 接口上的 QueryStatus 方法返回。 |
注解
Windows 7、Windows Server 2008 R2、Windows Vista、Windows Server 2008、Windows XP 和 Windows Server 2003: 在Windows 8和Windows Server 2012之前,不支持远程文件共享。
如果 pwszVolumeName 是 UNC 共享路径,则服务器名称部分必须采用主机名或完全限定的域名格式。 必须通过调用 IVssBackupComponentsEx4::GetRootAndLogicalPrefixPaths 方法规范化具有 IP 地址的 UNC 共享名称,然后才能将其传递给 AddToSnapshotSet。
单个卷影副本集中卷影复制的卷的最大数目为 64。
如果 providerId 为GUID_NULL,则根据以下算法选择默认提供程序:
- 如果任何硬件提供程序支持给定卷或远程文件共享,则选择该提供程序。
- 如果没有可用的硬件提供程序,如果任何软件提供程序支持给定的卷,则会选择它。
- 如果没有可用的硬件提供程序或软件提供程序,则会选择系统提供程序。 (只有一个预安装的系统提供程序,它必须支持所有不可移动的本地卷。)
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支持 VHD。
pidSnapshot 参数中返回的卷影复制标识符存储在备份组件文档中。 但是,没有用于查询此信息的方法,调用方可能需要存储此信息,以便在还原期间使用它。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | vsbackup.h (包括 VsBackup.h、Vss.h、VsWriter.h) |
Library | VssApi.lib |