CryptXmlOpenToEncode 函式 (cryptxml.h)

如果 CryptXmlOpenToEncode 函式會開啟 XML 數位簽名來編碼,並傳回已開啟 之 Signature 專案的句柄。 句柄會封裝具有單一 CRYPT_XML_SIGNATURE 結構的文件內容,並維持開啟狀態,直到呼叫 CryptXmlClose 函式為止。

語法

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

參數

[in, optional] pConfig

轉換鏈結引擎的句柄。 如果此參數為 NULL,則會使用預設引擎來套用轉換。

dwFlags

DWORD 值,控制要載入哪些 CryptXML 延伸模組,以及 XML 是否已串行化。 此參數可以是下列其中一個值。

意義
CRYPT_XML_FLAG_NO_SERIALIZE
0x80000000
禁止串行化。
注意 當多個線程存取 CryptXml 物件時,請勿設定此旗標。 當兩個或多個線程嘗試同時接受 CryptXml 物件或記憶體時,串行化可確保互斥。
 
CRYPT_XML_FLAG_DISABLE_EXTENSIONS
0x10000000
只會使用簽章和摘要的預設實作。 設定此旗標時,不會載入其他已註冊的延伸模組。

[in, optional] wszId

Null 終止 Unicode 字串的指標,其中包含 Signature 元素的 Id 屬性。 如果此參數為 NULL,則會產生新的 GUID。 如果此參數是空字串,則不會產生任何 Id 屬性。

[in] rgProperty

指定其他屬性 之CRYPT_XML_PROPERTY 結構的陣列指標。

[in] cProperty

rgProperty 參數所指向之陣列中的項目數目。

[in, optional] pEncoded

包含要編碼之簽章 之CRYPT_XML_BLOB 結構的指標。

[optional] phSignature

Signature 專案的句柄。

傳回值

如果函式成功,函式會傳回零。

如果函式失敗,它會傳回 指出錯誤的 HRESULT 值。

規格需求

需求
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限桌面應用程式]
目標平台 Windows
標頭 cryptxml.h
程式庫 Cryptxml.lib
Dll Cryptxml.dll