IAppxFactory3::CreateManifestReader2 方法 (appxpackaging.h)
重要
某些信息与预发行产品相关,该产品在商业发布之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用可选参数根据 IStream 提供的内容创建只读清单对象模型,用于指定清单的预期摘要。
语法
HRESULT CreateManifestReader2(
[in] IStream *inputStream,
[in,optional] LPCWSTR expectedDigest,
[out] IAppxManifestReader **manifestReader
);
参数
[in] inputStream
传递清单 XML 以供读取的输入流。 流必须支持 ISequentialStream::Read、 IStream::Seek 和 IStream::Stat。如果这些方法失败,则其错误代码可能会传递给此方法并由此方法返回。
[in,optional] expectedDigest
包含预期摘要的 LPCWSTR,清单文件的哈希表示形式。
[out] manifestReader
创建的清单读取器。
返回值
如果该方法成功,则返回 S_OK。 否则,它将返回一个错误代码,该代码包括但不限于下表中的错误代码。
返回代码 | 说明 |
---|---|
APPX_E_INVALID_MANIFEST | inputStream 不包含清单的语法有效的 XML。 |
APPX_E_DIGEST_MISMATCH | 对象的摘要与 expectedDigest 中提供的摘要不匹配。 |
注解
使用 CreateManifestReader2 读取应用包外部的清单。 此方法验证清单 XML。 manifestReader 提供对清单 XML 中的所有数据元素和属性的访问权限。 清单记录 AppxPackaging 的 ETW 事件日志中清单验证错误的位置。
通过调用 IAppxDigestProvider::GetDigest 获取 expecteDigest 参数的摘要字符串。
示例
有关示例,请参阅 快速入门:读取应用包清单信息。
要求
要求 | 值 |
---|---|
Header | appxpackaging.h |