IVssExamineWriterMetadata::GetRestoreMethod 方法 (vsbackup.h)

GetRestoreMethod 方法返回有关编写器希望如何还原其数据的信息。

语法

HRESULT GetRestoreMethod(
  [out] VSS_RESTOREMETHOD_ENUM *pMethod,
  [out] BSTR                   *pbstrService,
  [out] BSTR                   *pbstrUserProcedure,
  [out] VSS_WRITERRESTORE_ENUM *pwriterRestore,
  [out] bool                   *pbRebootRequired,
  [out] UINT                   *pcMappings
);

参数

[out] pMethod

指向 VSS_RESTOREMETHOD_ENUM 值的指针,该值指定文件覆盖,使用备用位置指定将在还原操作中使用的方法。

[out] pbstrService

如果 pMethod 的值VSS_RME_STOP_RESTORE_START或VSS_RME_RESTORE_STOP_START,则为指向包含已启动和停止的服务名称的字符串的指针。 否则,该值为 NULL

[out] pbstrUserProcedure

指向 HTML 或 XML 文档的 URL 的指针,该文档向用户描述如何执行还原。 该值可以为 NULL

[out] pwriterRestore

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

[out] pbRebootRequired

指向布尔值的指针,该值指示还原操作完成后是否需要重新启动。 如果需要重新启动,则该值接收 true ;否则,该值为 false

[out] pcMappings

指向与编写器关联的备用映射数的指针。

返回值

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

含义
S_OK
已成功返回还原方法信息。
S_FALSE
还原方法不存在。
E_INVALIDARG
其中一个参数值无效。
E_OUTOFMEMORY
调用方内存不足或其他系统资源。
VSS_E_INVALID_XML_DOCUMENT
XML 文档无效。 有关详细信息,请查看事件日志。 有关详细信息,请参阅 VSS 下的事件和错误处理
VSS_E_UNEXPECTED
意外错误。 错误代码记录在错误日志文件中。 有关详细信息,请参阅 VSS 下的事件和错误处理

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

注解

调用方必须通过调用 SysFreeString 释放 pbstrUserProcedurepbstrService 参数使用的内存。

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

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

如果为 ,可以将文件还原到备用位置映射:

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

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

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

如果还原方法VSS_RME_STOP_RESTORE_START或VSS_RME_RESTORE_STOP_START,则请求者使用 pbstrService 返回的名称来确定必须在还原期间停止和在还原后重新启动的服务。 有关编写器参与在还原操作期间停止和重启服务的信息,请参阅 停止请求者 还原的服务。

要求

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

另请参阅

IVssCreateWriterMetadata::SetRestoreMethod

IVssExamineWriterMetadata