PFN_CMSG_IMPORT_KEY_AGREE回调函数 (wincrypt.h)

PFN_CMSG_IMPORT_KEY_AGREE回调函数为信封邮件的密钥传输接收者导入内容加密密钥。 可以使用CryptoAPI对象标识符 (OID) 安装PFN_CMSG_IMPORT_KEY_AGREE。 当该函数的 dwCtrlType 参数设置为 CMSG_CTRL_DECRYPT时,CryptMsgControl 函数将调用此函数。

语法

PFN_CMSG_IMPORT_KEY_AGREE PfnCmsgImportKeyAgree;

BOOL PfnCmsgImportKeyAgree(
  [in]  PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm,
  [in]  PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA pKeyAgreeDecryptPara,
  [in]  DWORD dwFlags,
        void *pvReserved,
  [out] HCRYPTKEY *phContentEncryptKey
)
{...}

参数

[in] pContentEncryptionAlgorithm

指向 CRYPT_ALGORITHM_IDENTIFIER 结构的指针,该结构指定用于加密消息内容和任何关联参数的算法。

[in] pKeyAgreeDecryptPara

指向包含密钥协议收件人相关信息 的CMSG_CTRL_KEY_AGREE_DECRYPT_PARA 结构的指针。

[in] dwFlags

不使用此值。 将其设置为零。

pvReserved

此参数是保留的,必须为 NULL

[out] phContentEncryptKey

此函数返回的内容加密密钥的句柄的地址。

返回值

如果函数成功,则返回值为非零 (TRUE) 。

如果函数失败,则返回值为零, (FALSE) 。 有关扩展的错误信息,请调用 GetLastError

如果此回调函数不支持密钥加密算法,则必须返回 FALSE,并使用 E_NOTIMPL 调用 SetLastError

注解

可以使用 OID 支持函数 来部署此回调函数。 Wincrypt.h 为此定义了以下常量。

一直 定义
CMSG_OID_IMPORT_KEY_AGREE_FUNC或CMSG_OID_CAPI1_IMPORT_KEY_AGREE_FUNC “CryptMsgDllImportKeyAgree”

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 wincrypt.h