IVssComponentEx2::GetFailure 方法 (vswriter.h)

VSS 请求者调用此方法以检索编写器报告的组件级错误。

语法

HRESULT GetFailure(
  [out] HRESULT *phr,
  [out] HRESULT *phrApplication,
  [out] BSTR    *pbstrApplicationMessage,
  [out] DWORD   *pdwReserved
);

参数

[out] phr

调用方分配的变量的地址,该变量接收编写器为 IVssComponentEx2::SetFailure 方法的 hr 参数传递的 HRESULT 失败代码。 此参数是必需的,不能为 NULL

以下是支持的值。

含义
S_OK
编写器成功。
VSS_E_WRITERERROR_INCONSISTENTSNAPSHOT
卷影副本仅包含编写器正确备份应用程序组件所需的卷子集。
VSS_E_WRITERERROR_OUTOFRESOURCES
编写器耗尽了内存或其他系统资源。 处理此错误代码的建议方法是等待十分钟,然后重复该操作,最多三次。
VSS_E_WRITERERROR_TIMEOUT
由于冻结和解冻事件之间超时,编写器操作失败。 处理此错误代码的建议方法是等待十分钟,然后重复该操作,最多三次。
VSS_E_WRITERERROR_RETRYABLE
编写器失败,因为如果重新启动整个备份、还原或卷影副本创建过程,则可能不会发生错误。 处理此错误代码的建议方法是等待十分钟,然后重复该操作,最多三次。
VSS_E_WRITERERROR_NONRETRYABLE
编写器操作失败,因为如果创建了另一个卷影副本,可能会重复出现错误。 有关详细信息,请参阅 VSS 下的事件和错误处理
VSS_E_WRITER_NOT_RESPONDING
编写器没有响应。
VSS_E_WRITER_STATUS_NOT_AVAILABLE
编写器状态不适用于一个或多个编写器。 编写器可能已达到可用备份和还原会话的最大数目。

[out] phrApplication

调用方分配的变量的地址,该变量接收编写器为 SetFailure 方法的 hrApplication 参数传递的返回代码。 此参数是必需的,不能为 NULL

[out] pbstrApplicationMessage

调用方分配的变量的地址,该变量接收编写器为 SetFailure 方法的 wszApplicationMessage 参数传递的应用程序失败消息。 此参数是必需的,不能为 NULL

[out] pdwReserved

调用方分配的 DWORD 变量的地址。 此参数保留供将来使用,但它是必需的,不能为 NULL

返回值

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

含义
S_OK
0x00000000L
已成功返回指定编写器的状态。 请注意,必须检查 phrFailureWriter 参数的值,以验证编写器是否成功。 编写器失败代码可以包含在 VsWriter.h 和 编写器错误和否决中列出的代码中。
E_INVALIDARG
0x80070057L
phrphrApplicationpbstrApplicationMessagepdwReserved 参数为 NULL
E_OUTOFMEMORY
0x8007000EL
调用方内存或其他系统资源不足。
VSS_E_BAD_STATE
0x80042301L
备份组件对象未初始化,在还原操作期间调用了此方法,或者未按正确的顺序调用此方法。

注解

调用方完成访问此方法返回的状态信息后,应调用 SysFreeString 以释放 pbstrApplicationMessage 参数保留的内存。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 vswriter.h

另请参阅

IVssComponentEx2