IAppxFactory::CreatePackageReader 方法 (appxpackaging.h)

IStream 提供的内容创建只读包读取器。 此方法不验证 数字签名

语法

HRESULT CreatePackageReader(
  [in]          IStream            *inputStream,
  [out, retval] IAppxPackageReader **packageReader
);

参数

[in] inputStream

类型: IStream*

提供包内容以供读取的输入流。 流必须支持 ReadSeekStat。如果这些方法失败,则其错误代码可能会传递到此方法并由此方法返回。

[out, retval] packageReader

类型: IAppxPackageReader**

包读取器。

返回值

类型: HRESULT

如果方法成功,则返回 S_OK。 否则,它将返回一个错误代码,该错误代码包括但不限于下表中的代码。

返回代码 说明
APPX_E_INTERLEAVING_NOT_ALLOWED
inputStream 提供的 ZIP 文件是交错 OPC 包。
APPX_E_RELATIONSHIPS_NOT_ALLOWED
inputStream 提供的 OPC 包包含 OPC 包/部件关系。
APPX_E_MISSING_REQUIRED_FILE
存在 CI 目录时, inputStream 提供的 OPC 包没有清单、块映射或签名文件。
APPX_E_INVALID_MANIFEST
包清单无效。
APPX_E_INVALID_BLOCKMAP
包块映射无效,ZIP 中心目录中的文件列表与块映射中的文件列表不匹配,或者 ZIP 中心目录中列出的文件大小与块映射中列出的文件和块大小不匹配。

备注

CreatePackageReader 方法通过流立即检索应用包的占用元素并验证其内容。 仅当 OPC 包和所有占用元素 (包括 ZIP 中心目录、清单、[Content_Types].xml 和块映射) 有效时,此方法才成功。

示例

有关示例,请参阅 快速入门:提取应用包内容快速入门:读取应用包清单信息

要求

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

另请参阅

IAppxFactory