CryptXmlAddObject 函数 (cryptxml.h)

CryptXmlAddObject 函数将 Object 元素添加到文档上下文中为编码打开的签名。

语法

HRESULT CryptXmlAddObject(
  [in]            HCRYPTXML                hSignatureOrObject,
                  DWORD                    dwFlags,
  [in, optional]  const CRYPT_XML_PROPERTY *rgProperty,
  [in]            ULONG                    cProperty,
  [in]            const CRYPT_XML_BLOB     *pEncoded,
  [out, optional] const CRYPT_XML_OBJECT   **ppObject
);

参数

[in] hSignatureOrObject

CryptXmlOpenToEncode 函数返回的 Signature 的句柄,或由设置了 CRYPT_XML_FLAG_CREATE_REFERENCE_AS_OBJECT 标志的 CryptXmlCreateReference 函数返回的 Reference 的句柄。

dwFlags

指定控制添加对象的方式的标志。

下表中显示了当前定义的 dwFlags 值。

含义
CRYPT_XML_ADD_OBJECT_CREATE_REFERENCE
设置后,将创建 XML 部件的内存中副本并将其包含在 Object 元素中。

[in, optional] rgProperty

指向 CRYPT_XML_PROPERTY 结构的指针,该结构指定用于解码 Object 元素的其他属性。

[in] cProperty

rgProperty 属性指向的数组中的元素数。

[in] pEncoded

指向包含 Object 元素的CRYPT_XML_BLOB结构的指针。

[out, optional] ppObject

指向指向 CRYPT_XML_OBJECT 结构的指针的指针,用于接收解码结构。 当 hSignatureOrObject 参数包含 Object 的句柄时,此参数必须为 NULL

返回值

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

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

注解

hSignatureOrObject 参数指定由 CryptXmlCreateReference 函数返回的 Reference 的句柄时,pEncoded 参数指定在可选 Manifest 元素之后的 Object 节点中包含的 XML 内容。 pEncoded 参数中包含的指针在签名完成之前必须有效。 否则,请使用 CRYPT_XML_FLAG_ADD_OBJECT_CREATE_COPY 标志创建内存中副本。

要求

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