共用方式為


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
);

參數

工作階段 [in]
有效的 DismSession。 DismSession 必須與映像相關聯。 您可以使用 DismOpenSession將會話與映像關聯起來。

PackagePath [in]
要加入之 .cab 或 .msu 檔案的相對或絕對路徑,或包含單一 .cab 檔案之展開檔案的資料夾。

IgnoreCheck [in]
布林值,用來指定是否要不考慮在新增套件時進行的內部適用性檢查。

價值 描述
忽略內部適用性檢查。
請勿忽略內部適用性檢查。

PreventPending [in]
布林值,用以指定是否在有待處理的在線操作時添加套件。

價值 描述
真實 防止安裝有待處理線上動作的套件。
允許安裝具有待處理線上動作的套件。

CancelEvent [輸入,選擇性]
自選。 您可以為此函式設定 CancelEvent,以便在用戶端發出訊號時取消進行中的作業。 如果在無法取消作業的階段收到 CancelEvent,作業將會繼續並傳回成功碼。 如果收到 CancelEvent 且作業已取消,則映射狀態為未知。 您應該先確認映像狀態,再繼續或捨棄變更,然後再啟動一次。

進度 [in, 選擇性]
自選。 一個指向用戶端自定義的 DismProgressCallback的指標。

UserData [in,選擇性]
自選。 使用者定義的自定義數據。

傳回值

如果函式成功,則傳回值會 S_OK。 函式也可能在成功時傳回下列其中一個值:

傳回碼 描述
(HRESULT)錯誤:操作成功但需要重新啟動
如果 會話 已上線,則必須重新啟動電腦。
DISMAPI_S_RELOAD_IMAGE_SESSION_REQUIRED
必須重載 會話

如果函式失敗,傳回值是 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

另請參閱

DismAddDriver

DismEnableFeature

DismGetPackages

DismGetPackageInfo

DismRemovePackage

DismPackage

DismPackageInfo

DismPackageFeatureState