IAppxBundleWriter::AddPayloadPackage 方法 (appxpackaging.h)

将新的应用包添加到捆绑包。

语法

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

参数

[in] fileName

类型: LPCWSTR

有效负载文件的名称。 文件名路径必须相对于包的根目录。

[in] packageStream

类型: IStream*

提供 fileName 内容的 IStream。 流必须支持 ReadSeekStat

返回值

类型: HRESULT

如果方法成功,则返回 S_OK。 否则,它将返回一个错误代码,该错误代码包括但不限于下表中的代码。 错误 OPC 代码,除了OPC_E_DUPLICATE_PART可能会导致。 如果方法失败,捆绑包编写器将在失败状态中关闭,并且无法再使用。

返回代码 说明
E_NOT_VALID_STATE
编写器已关闭。
HRESULT_FROM_WIN32 (ERROR_INVALID_NAME)
指定的文件名不是有效的文件名,或者是占用空间文件的保留名称。
OPC_E_DUPLICATE_PART
指定的文件名已在捆绑包中使用。

注解

当 AddPayloadFile 方法成功时,指定 fileName 的内容将写入包,并在包块映射中创建相应的条目。

AddPayloadPackagepackageStream 读取应用包的内容,并使用给定 的 fileName 将内容存储在捆绑包中。

如果出现以下问题,AddPayloadPackage 可能会失败:

  • packageStream 未提供有效的应用包
  • packageStream 提供的应用包与已添加到捆绑包的应用包位于不同的包系列中
  • packageStream 提供的应用包面向的体系结构不能与已添加到捆绑包的另一个应用包位于同一捆绑包中
  • packageStream 提供的应用包具有一个块映射,该映射使用的哈希方法与已添加到捆绑包的应用包不同
  • fileName 不是有效的文件名,是保留名称,或者已被添加到捆绑包的另一个应用包使用

要求

要求
最低受支持的客户端 Windows 8.1 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 R2 [仅限桌面应用]
目标平台 Windows
标头 appxpackaging.h

另请参阅

IAppxBundleWriter