IAppxEncryptionFactory5::CreateEncryptedPackageReader2 方法 (appxpackaging.h)

重要

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

创建用于读取加密包的 IAppxPackageReader 的新实例,并使用可选参数指定包的预期摘要。

语法

HRESULT CreateEncryptedPackageReader2(
  IStream             *inputStream,
  const APPX_KEY_INFO *keyInfo,
  LPCWSTR             expectedDigest,
  IAppxPackageReader  **packageReader
);

参数

inputStream

用于读取加密包的流。

keyInfo

包含用于解密包的基本加密密钥和密钥 ID 的密钥信息。 基密钥用于派生每个文件的加密密钥。 如果此参数为 null,则使用全局测试密钥和密钥 ID。

expectedDigest

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

packageReader

创建的包读取器。

返回值

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

返回代码 说明
APPX_E_DIGEST_MISMATCH 对象的摘要与 expectedDigest 中提供的摘要不匹配。

注解

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

要求

要求
Header appxpackaging.h