PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY回调函数 (wincrypt.h)

PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY回调函数生成用于加密信封邮件内容的对称密钥。 此函数在初始化 CMSG_CONTENT_ENCRYPT_INFO 结构时由 CryptMsgOpenToEncode 函数调用。

语法

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