Freigeben über


CryptXmlOpenToEncode-Funktion (cryptxml.h)

Wenn die CryptXmlOpenToEncode-Funktion eine digitale XML-Signatur öffnet, um sie zu codieren, und gibt ein Handle des geöffneten Signature-Elements zurück. Das Handle kapselt einen Dokumentkontext mit einer einzelnen CRYPT_XML_SIGNATURE-Struktur und bleibt geöffnet, bis die CryptXmlClose-Funktion aufgerufen wird.

Syntax

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
);

Parameter

[in, optional] pConfig

Der Handle der Transformationsketten-Engine. Wenn dieser Parameter NULL ist, wird eine Standard-Engine verwendet, um Transformationen anzuwenden.

dwFlags

Ein DWORD-Wert , der steuert, welche CryptXML-Erweiterungen geladen werden und ob die XML-Datei serialisiert wird. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
CRYPT_XML_FLAG_NO_SERIALIZE
0x80000000
Die Serialisierung wird gehemmt.
Hinweis Legen Sie dieses Flag nicht fest, wenn mehrere Threads auf ein CryptXml-Objekt zugreifen. Die Serialisierung stellt einen gegenseitigen Ausschluss sicher, wenn zwei oder mehr Threads versuchen, gleichzeitig ein CryptXml-Objekt oder einen CryptXml-Speicher zu akzeptieren.
 
CRYPT_XML_FLAG_DISABLE_EXTENSIONS
0x10000000
Es werden nur Standardimplementierungen für die Signatur und den Digest verwendet. Wenn dieses Flag festgelegt ist, werden keine anderen registrierten Erweiterungen geladen.

[in, optional] wszId

Ein Zeiger auf eine unicode-Zeichenfolge, die null endet und das Id-Attribut des Signature-Elements enthält. Wenn dieser Parameter NULL ist, wird eine neue GUID generiert. Wenn es sich bei diesem Parameter um eine leere Zeichenfolge handelt, wird kein Id-Attribut erzeugt.

[in] rgProperty

Ein Zeiger auf ein Array von CRYPT_XML_PROPERTY Strukturen, die zusätzliche Eigenschaften angeben.

[in] cProperty

Die Anzahl der Elemente im Array, auf die der rgProperty-Parameter verweist.

[in, optional] pEncoded

Ein Zeiger auf eine CRYPT_XML_BLOB-Struktur , die die zu codierende Signatur enthält.

[optional] phSignature

Das Handle für das Signature-Element .

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion null zurück.

Wenn die Funktion fehlschlägt, wird ein HRESULT-Wert zurückgegeben, der den Fehler angibt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile cryptxml.h
Bibliothek Cryptxml.lib
DLL Cryptxml.dll