DismRestoreImageHealth 函数

修复被 DismCheckImageHealth 标识为可修复的损坏的映像。

语法

HRESULT WINAPI DismRestoreImageHealth(
  _In_     DismSession            Session,
  _In_opt_ PCWSTR                 *SourcePaths,
  _In_opt_ UINT                   SourcePathCount,
  _In_     BOOL                   LimitAccess,
  _In_opt_ HANDLE                 CancelEvent,
  _In_opt_ DISM_PROGRESS_CALLBACK Progress,
  _In_opt_ PVOID                  UserData
);

参数

Session [in]
一个有效的 DismSession。 DismSession 必须关联一个映像。 可以使用 DismOpenSession 将会话与映像关联。

SourcePaths [in, optional]
可选。 要检查修复文件的源位置的列表。

SourcePathCount [in, optional]
可选。 指定的源位置数。

LimitAccess [in]
一个布尔值,指示 DismRestoreImageHealth 函数是否应联系 Windows 更新 (WU) 并将其作为下载修复文件的源位置。 在检查 WU 之前,DISM 将按组策略检查提供的 SourcePaths 和注册表中指定的任何位置中的文件。 如果在这些其他指定位置找到启用该功能所需的文件,则忽略此标志。

说明
TRUE 请勿检查用于修复文件的 WU。
FALSE 默认。 针对修复文件检查 WU。

CancelEvent [in,可选]
可选。 可以设置此函数的 CancelEvent,以便在客户端发出信号时取消正在进行的操作。 如果在无法取消操作的阶段收到 CancelEvent,则该操作将继续并返回成功代码。 如果在收到 CancelEvent 后取消操作,则映像状态为未知。 应在继续操作之前验证映像状态,或者放弃更改并重新开始。

Progress [in,可选]
可选。 指向客户端定义的 DismProgressCallback 的指针。

UserData [in,可选]
可选。 用户定义的自定义数据。

返回值

如果成功,则返回 S_OK。

注解

运行 DismCheckImageHealth 以确定映像是否已损坏以及映像是否可修复。 如果 DismCheckImageHealth 返回 DismImageRepairable,则 DismRestoreImageHealth 函数可以修复映像。

如果在 SourcePaths 参数指定的任何位置或组策略指定的注册表中的位置路径中找不到修复文件,则 DismRestoreImageHealth 函数将联系 WU 以检查修复文件,除非 LimitAccess 参数设置为 TRUE。

示例

HRESULT hr = S_OK;
hr = DismRestoreImageHealth(Session, NULL, 0, TRUE, NULL, NULL, NULL);

要求

要求 说明
支持的主机平台 DISM API 可在 Windows 评估和部署工具包 (Windows ADK) 支持的任何操作系统上使用。 有关详细信息,请参阅 Windows ADK 技术参考
支持的映像平台 Windows 8、Windows Server 2012、Windows 8.1、Windows Server 2012 R2、Windows 10、Windows Server 2016
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
标头 DismAPI.h
Library DismAPI.lib
DLL DismAPI.dll

另请参阅

DismCheckImageHealth

DismImageHealthState