IAppxPackageWriter::AddPayloadFile 方法 (appxpackaging.h)

将新的有效负载文件添加到应用包。

语法

HRESULT AddPayloadFile(
  [in] LPCWSTR                 fileName,
  [in] LPCWSTR                 contentType,
  [in] APPX_COMPRESSION_OPTION compressionOption,
  [in] IStream                 *inputStream
);

参数

[in] fileName

类型: LPCWSTR

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

[in] contentType

类型: LPCWSTR

指定 fileName内容类型的字符串。

[in] compressionOption

类型: APPX_COMPRESSION_OPTION

用于在包中存储 fileName 的压缩类型。

[in] inputStream

类型: IStream*

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

返回值

类型: HRESULT

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

返回代码 说明
E_INVALIDARG
compressionOption 指定的 compression 选项不是 APPX_COMPRESSION_OPTION 枚举的值之一。
E_NOT_VALID_STATE
编写器已关闭。
HRESULT_FROM_WIN32 (ERROR_INVALID_NAME)
指定的文件名不是有效的文件名,或者是占用文件的保留名称。
OPC_E_DUPLICATE_PART
指定的文件名已在包中使用。

备注

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

注意 不能使用 AddPayloadFile 方法将具有以下保留文件名的文件添加到包中:

AppxManifest.xmlAppxBlockMap.xmlAppxStreamMap.xmlAppxSignature.p7x

此外,不能使用 AddPayloadFile 方法将具有以下保留文件夹前缀的文件添加到包中: \AppxMetadata\\Microsoft.System.Package.Metadata\

示例

有关示例,请参阅 如何创建应用包

要求

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

另请参阅

APPX_COMPRESSION_OPTION

IAppxPackageWriter