共用方式為


IAppxBundleWriter::AddPayloadPackage 方法 (appxpackaging.h)

將新的應用程式套件新增至套件組合。

語法

HRESULT AddPayloadPackage(
  [in] LPCWSTR fileName,
  [in] IStream *packageStream
);

參數

[in] fileName

類型: LPCWSTR

承載檔案的名稱。 檔名路徑必須相對於封裝的根目錄。

[in] packageStream

類型: IStream*

提供 fileName 內容的 IStream。 數據流必須支援 讀取搜尋統計數據

傳回值

類型: HRESULT

如果方法成功,它會 傳回S_OK。 否則,它會傳回錯誤碼,其中包含但不限於下表中的錯誤碼。 錯誤 OPC 碼,除了OPC_E_DUPLICATE_PART可能會造成。 如果方法失敗,套件組合寫入器將會以失敗狀態關閉,而且無法再使用。

傳回碼 Description
E_NOT_VALID_STATE
寫入器已關閉。
HRESULT_FROM_WIN32 (ERROR_INVALID_NAME)
指定的檔名不是有效的檔名,或是磁碟使用量檔案的保留名稱。
OPC_E_DUPLICATE_PART
指定的檔案名已在套件組合中使用。

備註

AddPayloadFile 方法成功時,指定的 fileName 內容會寫入封裝,並在套件區塊對應中建立對應的專案。

AddPayloadPackage 會從 packageStream 讀取應用程式套件的內容,並使用指定的 fileName 將內容儲存在套件組合中。

如果下列狀況,AddPayloadPackage 可能會失敗:

  • packageStream 未傳遞有效的應用程式套件
  • packageStream 所傳遞的應用程式套件與已新增至套件組合的應用程式套件位於不同的套件系列中
  • packageStream 所傳遞的應用程式套件是以架構為目標,該架構不能與另一個已新增至套件組合的應用程式套件位於相同的套件組合中
  • packageStream 所傳遞的應用程式套件具有區塊對應,其使用與已新增至套件組合的應用程式套件不同的哈希方法
  • fileName 不是有效的檔名、是保留名稱,或已由新增至套件組合的另一個應用程式套件使用

規格需求

需求
最低支援的用戶端 Windows 8.1 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2012 R2 [僅限傳統型應用程式]
目標平台 Windows
標頭 appxpackaging.h

另請參閱

IAppxBundleWriter