Fonction CryptXmlOpenToEncode (cryptxml.h)

Si la fonction CryptXmlOpenToEncode ouvre une signature numérique XML pour encoder et retourne un handle de l’élément Signature ouvert. Le handle encapsule un contexte de document avec une structure CRYPT_XML_SIGNATURE unique et reste ouvert jusqu’à ce que la fonction CryptXmlClose soit appelée.

Syntaxe

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

Paramètres

[in, optional] pConfig

Handle du moteur de chaîne de transformation. Si ce paramètre a la valeur NULL, un moteur par défaut est utilisé pour appliquer des transformations.

dwFlags

Valeur DWORD qui contrôle les extensions CryptXML qui sont chargées et si le code XML est sérialisé. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
CRYPT_XML_FLAG_NO_SERIALIZE
0x80000000
Inhiber la sérialisation.
Note Ne définissez pas cet indicateur lorsque plusieurs threads accèdent à un objet CryptXml. La sérialisation garantit l’exclusion mutuelle lorsque deux threads ou plus tentent d’accepter simultanément un objet ou une mémoire CryptXml.
 
CRYPT_XML_FLAG_DISABLE_EXTENSIONS
0x10000000
Seules les implémentations par défaut de la signature et de la synthèse sont utilisées. Lorsque cet indicateur est défini, aucune autre extension inscrite n’est chargée.

[in, optional] wszId

Pointeur vers une chaîne Unicode terminée par null qui contient l’attribut ID de l’élément Signature . Si ce paramètre a la valeur NULL, un nouveau GUID est généré. Si ce paramètre est une chaîne vide, aucun attribut ID n’est produit.

[in] rgProperty

Pointeur vers un tableau de structures CRYPT_XML_PROPERTY qui spécifient des propriétés supplémentaires.

[in] cProperty

Nombre d’éléments dans le tableau pointé vers le paramètre rgProperty .

[in, optional] pEncoded

Pointeur vers une structure CRYPT_XML_BLOB qui contient la signature à encoder.

[optional] phSignature

Handle de l’élément Signature .

Valeur retournée

Si la fonction réussit, la fonction retourne zéro.

Si la fonction échoue, elle retourne une valeur HRESULT qui indique l’erreur.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête cryptxml.h
Bibliothèque Cryptxml.lib
DLL Cryptxml.dll