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) 。

返回值

下面是此方法的有效返回代码。

含义
S_OK
0x00000000L
操作成功。
E_INVALIDARG
0x80070057L
其中一个参数值无效,或者调用方尝试将文件组文件添加到非文件组组件。
E_OUTOFMEMORY
0x8007000EL
调用方内存不足或其他系统资源。
VSS_E_INVALID_XML_DOCUMENT
0x80042311L
XML 文档无效。 有关详细信息,请查看事件日志。 有关详细信息,请参阅 VSS 下的事件和错误处理
VSS_E_NOT_SUPPORTED
0x8004232FL
对于快速编写器, wszAlternatePath 的值必须为 NULL并且 dwBackupTypeMask 位掩码不能包含 VSS_FSBT_DIFFERENTIAL_BACKUP_REQUIREDVSS_FSBT_INCREMENTAL_BACKUP_REQUIREDVSS_FSBT_LOG_BACKUP_REQUIRED
VSS_E_OBJECT_NOT_FOUND
0x80042308L
指定的组件不存在。
VSS_E_UNEXPECTED
意外错误。 错误代码记录在错误日志文件中。 有关详细信息,请参阅 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之前,不支持远程文件共享。 编写器仅支持本地资源-文件集,其绝对路径以有效的本地卷规范开头,不能是映射的网络驱动器。 因此,在解析任何环境变量) 后, (wszPathwszAlternatePath) 到 AddFilesToFileGroup (的路径输入必须采用此格式。

编写器可以多次调用此方法,以将多组文件添加到其文件组组件。 但是,应确保文件规范不重叠,因为特定文件只能指定一次。

备份文件的位置和还原到的位置取决于 wszPath 定义的根目录的值和 wszAlternatePath 定义的备用路径。

使用 AddFilesToFileGroup 提供的路径信息时请注意以下事项:

  • 如果可能,还原操作应 () 还原由 wszPath 定义的默认根目录下的 AddFilesToFileGroup 添加到组件的文件。
  • 如果未指定备用路径 (wszAlternatePathNULL) ,则添加到组件的文件将从默认根目录备份并还原到 wszPath 指示的默认根目录。
  • 如果指定了备用路径 (如果 wszAlternatePath 为非 NULL) ,则从 wszAlternatePath 指定的备用路径备份添加到组件的文件。 但是,请求者仍将使用 wszPath 作为默认还原位置。
  • 如果备用路径 (wszAlternatePath 为非 NULL) 并且有文件规范与 wszFilespec) (wszFilespec) 的文件匹配,则 (wszPath) ,则备份操作应备份位于备用路径下的文件,而不是位于默认根目录下的文件。
  • 文件应还原到 wszPath 指示的目录,除非 IVssCreateWriterMetadata::AddAlternateLocationMapping 设置了备用位置映射,并且还原方法或还原目标需要它。
有关 VSS 下的备份和还原文件位置的详细信息,请参阅 非默认备份和还原位置

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 vswriter.h (包括 Vss.h、VsWriter.h)
Library VssApi.lib

另请参阅

IVssCreateWriterMetadata

IVssCreateWriterMetadata::AddAlternateLocationMapping