IAppxFactory::CreateValidatedBlockMapReader 方法 (appxpackaging.h)

根据 IStream 和数字签名提供的内容创建只读块映射对象模型。

语法

HRESULT CreateValidatedBlockMapReader(
  [in]          IStream             *blockMapStream,
  [in]          LPCWSTR             signatureFileName,
  [out, retval] IAppxBlockMapReader **blockMapReader
);

参数

[in] blockMapStream

类型: IStream*

传送块映射 XML 以供读取的流。 流必须支持 ReadSeekStat

[in] signatureFileName

类型: LPCWSTR

包含用于验证输入流内容的数字签名的文件。

[out, retval] blockMapReader

类型: IAppxBlockMapReader**

块映射读取器。

返回值

类型: HRESULT

如果方法成功,则返回 S_OK。 否则,它将返回一个错误代码,其中包括但不限于以下代码。 此方法可能会返回从使用的基础验证 API 传递的错误。 例如,如果签名无法读取、无效或与 blockMapStream 的内容不匹配,此方法可能会返回“Crypto 和 WinTrust 错误代码 (0x8009xxxx、0x800bxxxx) 。

返回代码 说明
APPX_E_INVALID_BLOCKMAP
blockMapStream 不包含块映射在语法上有效的 XML。

注解

当块映射单独存在于应用包外部时,使用此方法。 块映射对象提供对块映射 XML 中的所有数据元素和属性的访问。

fileName 参数应包含磁盘上的包数字签名 (.p7x) 文件的路径。 如果此参数不为 NULL,此方法将验证签名文件的格式,并针对签名验证 blockMapStream 的内容。

要求

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

另请参阅

IAppxFactory

IAppxFactory::CreateBlockMapReader