IAppxBundleFactory2::CreateBundleReader2 方法 (appxpackaging.h)

重要

某些信息与预发行产品相关,该产品在商业发布之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。

创建一个只读捆绑包对象,该对象从 IStream 对象读取其内容,该对象具有用于指定捆绑包的预期摘要的可选参数。

语法

HRESULT CreateBundleReader2(
  [in]          IStream           *inputStream,
  [in,optional] LPCWSTR           expectedDigest,
  [out]         IAppxBundleReader **bundleReader
);

参数

[in] inputStream

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

[in,optional] expectedDigest

包含预期摘要的 LPCWSTR,捆绑包文件的哈希表示形式。

[out] bundleReader

创建的捆绑包读取器。

返回值

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

返回代码 说明
APPX_E_INTERLEAVING_NOT_ALLOWED 由 *inputStream8 传递的 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_MANIFEST 捆绑清单无效。
APPX_E_DIGEST_MISMATCH 对象的摘要与 expectedDigest 中提供的摘要不匹配。

注解

通过调用 IAppxDigestProvider::GetDigest 获取 expecteDigest 参数的摘要字符串。

要求

要求
Header appxpackaging.h