CryptXmlOpenToDecode 函数 (cryptxml.h)

CryptXmlOpenToDecode 函数打开 XML 数字签名进行解码,并返回封装CRYPT_XML_SIGNATURE结构的文档上下文的句柄。 文档上下文可以包含一个或多个 Signature 元素。

语法

HRESULT CryptXmlOpenToDecode(
  [in, optional] const CRYPT_XML_TRANSFORM_CHAIN_CONFIG *pConfig,
                 DWORD                                  dwFlags,
  [in]           const CRYPT_XML_PROPERTY               *rgProperty,
                 ULONG                                  cProperty,
  [in]           const CRYPT_XML_BLOB                   *pEncoded,
                 HCRYPTXML                              *phCryptXml
);

参数

[in, optional] pConfig

转换链引擎的句柄。 如果此参数为 NULL,则将使用默认引擎来应用转换。

dwFlags

一个 DWORD 值,用于控制加载哪些 CryptXML 扩展以及 XML 是否序列化。 此参数的取值可为下列值之一:

含义
CRYPT_XML_FLAG_NO_SERIALIZE
0x80000000
禁止序列化。
重要 当多个线程访问 CryptXml 对象时,请勿设置此标志。 当两个或多个线程尝试同时接受 CryptXml 对象或内存时,序列化可确保相互排斥。
 
CRYPT_XML_FLAG_DISABLE_EXTENSIONS
0x10000000
仅使用签名和摘要的默认实现。 设置此标志后,不会加载其他已注册的扩展。

[in] rgProperty

指向包含其他属性 的CRYPT_XML_PROPERTY 结构的数组的指针。

cProperty

rgProperty 参数指向的数组中的项数。

[in] pEncoded

指向包含要解码的签名 的CRYPT_XML_BLOB 结构的指针。

phCryptXml

Document Context 对象的句柄。 使用完 句柄后,将其传递给 CryptXmlClose 函数来释放它。

返回值

如果函数成功,则函数返回零。

如果函数失败,它将返回一个 指示错误的 HRESULT 值。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 cryptxml.h
Library Cryptxml.lib
DLL Cryptxml.dll