將單一 .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
);
參數
工作階段 [in]
有效的 DismSession。 DismSession 必須與映像相關聯。 您可以使用 DismOpenSession將會話與映像關聯起來。
PackagePath [in]
要加入之 .cab 或 .msu 檔案的相對或絕對路徑,或包含單一 .cab 檔案之展開檔案的資料夾。
IgnoreCheck [in]
布林值,用來指定是否要不考慮在新增套件時進行的內部適用性檢查。
價值 | 描述 |
---|---|
真 | 忽略內部適用性檢查。 |
假 | 請勿忽略內部適用性檢查。 |
PreventPending [in]
布林值,用以指定是否在有待處理的在線操作時添加套件。
價值 | 描述 |
---|---|
真實 | 防止安裝有待處理線上動作的套件。 |
假 | 允許安裝具有待處理線上動作的套件。 |
CancelEvent [輸入,選擇性]
自選。 您可以為此函式設定 CancelEvent,以便在用戶端發出訊號時取消進行中的作業。 如果在無法取消作業的階段收到 CancelEvent,作業將會繼續並傳回成功碼。 如果收到 CancelEvent 且作業已取消,則映射狀態為未知。 您應該先確認映像狀態,再繼續或捨棄變更,然後再啟動一次。
進度 [in, 選擇性]
自選。 一個指向用戶端自定義的 DismProgressCallback的指標。
UserData [in,選擇性]
自選。 使用者定義的自定義數據。
傳回值
如果函式成功,則傳回值會 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 |