CryptXmlOpenToEncode function

If CryptXmlOpenToEncode function opens an XML digital signature to encode and returns a handle of the opened Signature element. The handle encapsulates a document context with a single CRYPT_XML_SIGNATURE structure and remains open until the CryptXmlClose function is called.

Syntax

HRESULT CryptXmlOpenToEncode(
  const CRYPT_XML_TRANSFORM_CHAIN_CONFIG *pConfig,
  DWORD                                  dwFlags,
  LPCWSTR                                wszId,
  const CRYPT_XML_PROPERTY               *rgProperty,
  ULONG                                  cProperty,
  const CRYPT_XML_BLOB                   *pEncoded,
  HCRYPTXML                              *phSignature
);

Parameters

pConfig

The handle of the transform chain engine. If this parameter is NULL, then a default engine is used to apply transforms.

dwFlags

A DWORD value that controls which CryptXML extensions are loaded and whether the XML is serialized. This parameter can be one of the following values.

Value Meaning
CRYPT_XML_FLAG_NO_SERIALIZE
0x80000000
Inhibit serialization.
Note  Do not set this flag when multiple threads are accessing a CryptXml object. Serialization ensures mutual exclusion when two or more threads attempt to simultaneously accept a CryptXml object or memory.
 
CRYPT_XML_FLAG_DISABLE_EXTENSIONS
0x10000000
Only default implementations for the signature and digest are used. When this flag is set, no other registered extensions are loaded.

wszId

A pointer to a null-terminated Unicode string that contains the Id attribute of the Signature element. If this parameter is NULL, then a new GUID is generated. If this parameter is an empty string, then no Id attribute is produced.

rgProperty

A pointer to an array of CRYPT_XML_PROPERTY structures that specify additional properties.

cProperty

The number of elements in the array pointed to by the rgProperty parameter.

pEncoded

A pointer to a CRYPT_XML_BLOB structure that contains the signature to encode.

phSignature

The handle to the Signature element.

Return Value

If the function succeeds, the function returns zero.

If the function fails, it returns an HRESULT value that indicates the error.

Requirements

   
Minimum supported client Windows 7 [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Target Platform Windows
Header cryptxml.h
Library Cryptxml.lib
DLL Cryptxml.dll