PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY回呼函式 (wincrypt.h)

PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY回呼函式會產生用來加密信封訊息內容的對稱密鑰。 當 CryptMsgOpenToEncode 函式初始化 CMSG_CONTENT_ENCRYPT_INFO 結構時,會呼叫此函式。

語法

PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY PfnCmsgGenContentEncryptKey;

BOOL PfnCmsgGenContentEncryptKey(
  [in, out] PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo,
  [in]      DWORD dwFlags,
            void *pvReserved
)
{...}

參數

[in, out] pContentEncryptInfo

包含索引鍵 之CMSG_CONTENT_ENCRYPT_INFO 結構的指標。

[in] dwFlags

不使用這個值。 將它設定為零。

pvReserved

此參數是保留的,而且必須是 NULL

傳回值

如果函式成功,則傳回值為非零 (TRUE) 。

如果函式失敗,則傳回值為零, (FALSE) 。 如需擴充錯誤資訊,請呼叫 GetLastError

備註

您可以使用 OID 支援函式 來部署此回呼函式。 Wincrypt.h 會為此目的定義下列常數。

您必須為 CAPI1 金鑰和密碼編譯 API 定義不同的回呼函式:新一代 (CNG) 金鑰。 這兩個函式都有相同的簽章,但使用不同的 對象標識碼 (OID) 。 呼叫哪一個函式取決於 pContentEncryptInfo 參數所指向之CMSG_CONTENT_ENCRYPT_INFO結構的 fCNG 成員值。 下表顯示回呼函式與 fCNG 成員值之間的關聯性。

fCNG 值 常數 定義
FALSE CMSG_OID_GEN_CONTENT_ENCRYPT_KEY_FUNC或CMSG_OID_CAPI1_GEN_CONTENT_ENCRYPT_KEY_FUNC “CryptMsgDllGenContentEncryptKey”
TRUE CMSG_OID_CNG_GEN_CONTENT_ENCRYPT_KEY_FUNC “CryptMsgDllCNGGenContentEncryptKey”

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 wincrypt.h