IVssCreateWriterMetadata::SetRestoreMethod 方法 (vswriter.h)

SetRestoreMethod 方法指示如何还原编写器的数据。

语法

HRESULT SetRestoreMethod(
  [in] VSS_RESTOREMETHOD_ENUM method,
  [in] LPCWSTR                wszService,
  [in] LPCWSTR                wszUserProcedure,
  [in] VSS_WRITERRESTORE_ENUM writerRestore,
  [in] bool                   bRebootRequired
);

参数

[in] method

VSS_RESTOREMETHOD_ENUM 值,该值指定将在还原操作中使用的方法。

[in] wszService

指向宽字符串的指针,其中包含在还原操作之前必须停止,然后在还原操作发生后启动的服务的名称(如果 方法 的值为VSS_RME_STOP_RESTORE_START或VSS_RME_RESTORE_STOP_START)。

如果 方法 的值未VSS_RME_STOP_RESTORE_START或VSS_RME_RESTORE_STOP_START,则不使用此参数,应设置为 NULL

[in] wszUserProcedure

保留供将来使用。 此参数的值应始终设置为 NULL

[in] writerRestore

VSS_WRITERRESTORE_ENUM 值,该值指定编写器是否将参与还原其数据。

Express 编写器必须将此参数设置为 VSS_WRE_NEVER

[in] bRebootRequired

指示还原操作完成后是否需要重新启动的布尔值。

返回值

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

含义
S_OK
0x00000000L
操作成功。
E_INVALIDARG
0x80070057L
其中一个参数值无效。
E_OUTOFMEMORY
0x8007000EL
调用方内存不足或其他系统资源。
VSS_E_INVALID_XML_DOCUMENT
0x80042311L
XML 文档无效。 有关详细信息,请查看事件日志。 有关详细信息,请参阅 VSS 下的事件和错误处理
VSS_E_NOT_SUPPORTED
0x8004232FL
调用方指定了快速编写器不支持 的VSS_WRITERRESTORE_ENUM 值。
VSS_E_UNEXPECTED
意外错误。 错误代码记录在错误日志文件中。 有关详细信息,请参阅 VSS 下的事件和错误处理

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前,不支持此值。 改用E_UNEXPECTED。

注解

为编写器定义了一个还原方法。 如果未重写还原方法,则将使用相同的方法还原编写器的所有组件。

编写器通过设置还原目标来逐个替代还原方法,通常在处理 CVssWriter::OnPreRestore) (PreRestore 事件时。

请务必注意,尽管还原方法在编写器范围内应用,但方法还是按组件实现的。 例如,如果 方法 参数指定的方法VSS_RME_RESTORE_IF_CAN_REPLACE,则组件中的所有文件都将还原到其原始位置(如果可以全部替换而不发生错误)。 否则,如果指定了一个位置,它们将还原到其备用位置。

如果以下任一情况为 true,应始终将文件还原到其备用位置映射:

  • VSS_RME_RESTORE_TO_ALTERNATE_LOCATION备份时 (设置还原方法) 。
  • 其还原目标在还原时 () 设置为VSS_RT_ALTERNATE。
在任一情况下,如果未定义有效的备用位置映射,则构成编写器错误。

如果以下任一情况为 true,则可以将文件还原到备用位置映射:

  • 还原方法VSS_RME_RESTORE_IF_NOT_THERE并且磁盘上已存在文件版本。
  • 还原方法VSS_RME_RESTORE_IF_CAN_REPLACE磁盘上存在文件版本,无法替换。
同样,如果未定义有效的备用位置映射,则构成编写器错误。

备用位置映射仅在还原操作期间使用,不应与备用路径混淆,该路径仅在备份操作期间使用。

有关还原方法的详细信息,请参阅 设置 VSS 还原方法

如果还原方法VSS_RME_STOP_RESTORE_START或VSS_RME_RESTORE_STOP_START,则必须提供服务的正确名称作为 wszService 参数。 有关编写器参与在还原操作期间停止和重启服务的信息,请参阅 停止请求者还原的服务

要求

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

另请参阅

CVssWriter::OnPostRestore

CVssWriter::OnPreRestore

IVssCreateWriterMetadata

IVssExamineWriterMetadata::GetRestoreMethod