IVssCreateWriterMetadata::AddFilesToFileGroup 方法 (vswriter.h)
AddFilesToFileGroup 方法将 (指定文件集或) 的文件集添加到指定的文件组组件。
语法
HRESULT AddFilesToFileGroup(
[in] LPCWSTR wszLogicalPath,
[in] LPCWSTR wszGroupName,
[in] LPCWSTR wszPath,
[in] LPCWSTR wszFilespec,
[in] bool bRecursive,
[in] LPCWSTR wszAlternateLocation,
[in] DWORD dwBackupTypeMask
);
参数
[in] wszLogicalPath
指向以 null 结尾的宽字符串的指针,该字符串包含逻辑路径 (可为 NULL ,) 要向其添加文件的组件。 有关详细信息,请参阅组件的逻辑路径。
[in] wszGroupName
指向包含文件组组件名称的 以 null 结尾的宽字符串的指针。 此组件的类型必须VSS_CT_FILEGROUP;否则, 方法将返回错误。
[in] wszPath
指向以 null 结尾的宽字符串的指针,该字符串包含要添加的文件的默认根目录。
该目录可以是 VSS 计算机上的本地目录,也可以是远程文件服务器上的文件共享目录。
支持 UNC 路径。
路径可以包含环境变量 (例如 %SystemRoot%) 但不能包含通配符。
不要求路径以反斜杠 (“”) 结尾。 由应用程序来检索此信息以检查。
[in] wszFilespec
指向以 null 结尾的宽字符串的指针,该字符串包含要包含的文件的文件规范。
文件规范不能包含目录规范 (例如,没有反斜杠) 但可以包含 ? 和 * 通配符。
[in] bRecursive
一个布尔值,指定 wszPath 参数指定的路径是仅标识单个目录,还是指示要以递归方式遍历的目录层次结构。 如果路径被视为要递归的目录层次结构,则应将此参数设置为 true ,否则应设置为 false 。
有关遍历已装载文件夹的信息,请参阅 使用装载的文件夹和重新分析点。
[in] wszAlternateLocation
指向包含备用路径的 以 null 结尾的宽字符串的指针,该路径实际上包含要使用此组件备份的文件。
该目录可以是 VSS 计算机上的本地目录,也可以是远程文件服务器上的文件共享目录。
支持 UNC 路径。
指定备用路径是可选的;如果不需要备用路径, 则 wszAlternatePath 应为 NULL。
备用路径不应与备用位置映射混淆。
[in] dwBackupTypeMask
VSS_FILE_SPEC_BACKUP_TYPE枚举值的位掩码,用于指示编写器是否应评估文件以参与某种类型的备份操作。
此参数的默认值为 (VSS_FSBT_ALL_BACKUP_REQUIRED |VSS_FSBT_ALL_SNAPSHOT_REQUIRED) 。
返回值
下面是此方法的有效返回代码。
值 | 含义 |
---|---|
|
操作成功。 |
|
其中一个参数值无效,或者调用方尝试将文件组文件添加到非文件组组件。 |
|
调用方内存不足或其他系统资源。 |
|
XML 文档无效。 有关详细信息,请查看事件日志。 有关详细信息,请参阅 VSS 下的事件和错误处理。 |
|
对于快速编写器, wszAlternatePath 的值必须为 NULL, 并且 dwBackupTypeMask 位掩码不能包含 VSS_FSBT_DIFFERENTIAL_BACKUP_REQUIRED、 VSS_FSBT_INCREMENTAL_BACKUP_REQUIRED或 VSS_FSBT_LOG_BACKUP_REQUIRED。 |
|
指定的组件不存在。 |
|
意外错误。 错误代码记录在错误日志文件中。 有关详细信息,请参阅 VSS 下的事件和错误处理。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前,不支持此值。 改用E_UNEXPECTED。 |
注解
Windows 7、Windows Server 2008 R2、Windows Vista、Windows Server 2008、Windows XP 和 Windows Server 2003: 在Windows 8和Windows Server 2012之前,不支持远程文件共享。 编写器仅支持本地资源-文件集,其绝对路径以有效的本地卷规范开头,不能是映射的网络驱动器。 因此,在解析任何环境变量) 后, (wszPath 和 wszAlternatePath) 到 AddFilesToFileGroup (的路径输入必须采用此格式。
编写器可以多次调用此方法,以将多组文件添加到其文件组组件。 但是,应确保文件规范不重叠,因为特定文件只能指定一次。
备份文件的位置和还原到的位置取决于 wszPath 定义的根目录的值和 wszAlternatePath 定义的备用路径。
使用 AddFilesToFileGroup 提供的路径信息时请注意以下事项:
- 如果可能,还原操作应 () 还原由 wszPath 定义的默认根目录下的 AddFilesToFileGroup 添加到组件的文件。
- 如果未指定备用路径 (wszAlternatePath 为 NULL) ,则添加到组件的文件将从默认根目录备份并还原到 wszPath 指示的默认根目录。
- 如果指定了备用路径 (如果 wszAlternatePath 为非 NULL) ,则从 wszAlternatePath 指定的备用路径备份添加到组件的文件。 但是,请求者仍将使用 wszPath 作为默认还原位置。
- 如果备用路径 (wszAlternatePath 为非 NULL) 并且有文件规范与 wszFilespec) (wszFilespec) 的文件匹配,则 (wszPath) ,则备份操作应备份位于备用路径下的文件,而不是位于默认根目录下的文件。
- 文件应还原到 wszPath 指示的目录,除非 IVssCreateWriterMetadata::AddAlternateLocationMapping 设置了备用位置映射,并且还原方法或还原目标需要它。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | vswriter.h (包括 Vss.h、VsWriter.h) |
Library | VssApi.lib |