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
用于在包中存储 fileName 的压缩类型。
[in] inputStream
类型: IStream*
提供 fileName 内容的 IStream。 流必须支持 Read、 Seek 和 Stat。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,它将返回一个错误代码,该代码包括但不限于下表中的错误代码。 除OPC_E_DUPLICATE_PART外,还可能导致 OPC 代码错误。 如果方法失败,包编写器将在失败状态下关闭,不能再使用。
返回代码 | 说明 |
---|---|
|
compressionOption 指定的 compression 选项不是 APPX_COMPRESSION_OPTION 枚举的值之一。 |
|
编写器已关闭。 |
|
指定的文件名不是有效的文件名,或者是占用文件的保留名称。 |
|
指定的文件名已在包中使用。 |
备注
当 AddPayloadFile 方法成功时,指定 fileName 的内容将写入包,并在包块映射中创建相应的条目。
注意 不能使用 AddPayloadFile 方法将具有以下保留文件名的文件添加到包中:
AppxManifest.xml
、AppxBlockMap.xml
、AppxStreamMap.xml
和 AppxSignature.p7x
。
此外,不能使用 AddPayloadFile 方法将具有以下保留文件夹前缀的文件添加到包中: \AppxMetadata\
和 \Microsoft.System.Package.Metadata\
。
示例
有关示例,请参阅 如何创建应用包。
要求
最低受支持的客户端 | Windows 8 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
目标平台 | Windows |
标头 | appxpackaging.h |