PFND3DDDI_AUTHENTICATEDCHANNELKEYEXCHANGE回调函数 (d3dumddi.h)

AuthenticatedChannelKeyExchange 函数协商会话密钥。

语法

PFND3DDDI_AUTHENTICATEDCHANNELKEYEXCHANGE Pfnd3dddiAuthenticatedchannelkeyexchange;

HRESULT Pfnd3dddiAuthenticatedchannelkeyexchange(
  HANDLE hDevice,
  D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE *unnamedParam2
)
{...}

参数

hDevice

显示设备的句柄 (图形上下文) 。

unnamedParam2

pData [in, out]

指向 D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE 结构的指针,该结构描述包含经过身份验证的通道使用的会话密钥的缓冲区。

返回值

AuthenticatedChannelKeyExchange 返回以下值之一:

返回代码 说明
S_OK 会话密钥已成功协商。
E_OUTOFMEMORY AuthenticatedChannelKeyExchange 无法分配完成所需的内存。

注解

D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE 结构中的 pData 成员指向一个缓冲区,该缓冲区包含一个密钥,应用程序以前使用驱动程序的经过身份验证的通道证书中的公钥进行 RSAES-OAEP 加密。 缓冲区的实际大小为 256 字节。 此交换与 输出保护管理器 (OPM) 密钥交换的工作方式相同,只不过 OPM 缓冲区包含会话密钥以外的其他数据。 用于 OPM 密钥交换的同一证书可用于经过身份验证的通道。

驱动程序解密此密钥,并在调用驱动程序的 ConfigureAuthenticatedChannelQueryAuthenticatedChannel 函数时使用该密钥来计算单键密码块链 (CBC) 模式消息身份验证代码, (OMAC) 。

要求

要求
最低受支持的客户端 从 Windows 7 操作系统开始支持 AuthenticatedChannelKeyExchange。
目标平台 桌面
标头 d3dumddi.h (包括 D3dumddi.h)

另请参阅

D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE