DismAddPackage 函数
将单个 .cab 或 .msu 文件添加到 Windows 映像。
语法
HRESULT WINAPI DismAddPackage(
_In_ DismSession Session,
_In_ PCWSTR PackagePath,
_In_ BOOL IgnoreCheck,
_In_ BOOL PreventPending,
_In_opt_ HANDLE CancelEvent,
_In_opt_ DISM_PROGRESS_CALLBACK Progress,
_In_opt_ PVOID UserData
);
参数
Session [in]
有效的 DismSession。 DismSession 必须与图像相关联。 可以使用 DismOpenSession 将会话与映像关联。
PackagePath [in]
要添加的 .cab 或 .msu 文件或包含单个 .cab 文件的扩展文件的文件夹的相对路径或绝对路径。
IgnoreCheck [in]
一个布尔值,用于指定是否忽略添加包时完成的内部适用性检查。
值 | 描述 |
---|---|
TRUE | 忽略内部适用性检查。 |
FALSE | 不要忽略内部适用性检查。 |
PreventPending [in]
一个布尔值,用于指定是否在包具有挂起的联机操作时添加该包。
值 | 描述 |
---|---|
TRUE | 阻止安装具有挂起的联机操作的包。 |
FALSE | 允许安装具有挂起的联机操作的包。 |
CancelEvent [in, optional]
自选。 可以为此函数设置 CancelEvent,以便在客户端发出信号时取消正在进行的操作。 如果在无法取消操作的阶段收到 CancelEvent,该操作将继续并返回成功代码。 如果收到 CancelEvent 并且操作被取消,则映像状态未知。 在继续或放弃更改并重新开始之前,应验证映像状态。
Progress [in, optional]
自选。 指向客户端定义的 DismProgressCallback 的指针。
UserData [in, optional]
自选。 用户定义的自定义数据。
返回值
如果函数成功,则返回值 S_OK
。 如果函数成功,该函数也可能返回以下值之一:
返回代码 | 描述 |
---|---|
|
如果 会话 处于联机状态,则需要重启计算机。 |
|
需要重新加载 会话。 |
如果函数失败,则返回值为 HRESULT 错误值。
言论
只能将 .cab 文件添加到联机映像。 可以将 .cab 或 .msu 文件添加到脱机映像。
如果包不适用,此函数将返回特殊错误代码。 可以使用 DismGetPackageInfo 来确定包是否适用于目标映像。
例
HRESULT hr = S_OK;
hr = DismAddPackage(Session, "C:\\packages\\calc.cab", FALSE, FALSE, NULL, NULL, NULL);
要求
要求 | 描述 |
---|---|
支持的主机平台 | DISM API 可用于 Windows 评估和部署工具包(Windows ADK)支持的任何操作系统。 有关详细信息,请参阅 Windows ADK 技术参考。 |
支持的映像平台 | Windows 7、Windows Server 2008 R2、Windows PE 3.0、Windows 8、Windows Server 2012、Windows 预安装环境(Windows PE) 4.0、Windows 8.1、Windows Server 2012 R2、Windows 10、Windows Server 2016 |
支持的最低客户端 | Windows 7 [仅限桌面应用] |
支持的最低服务器 | Windows Server 2008 R2 [仅限桌面应用] |
标头 | DismAPI.h |
图书馆 | DismAPI.lib |
DLL | DismAPI.dll |