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 字节。 此交换与 Output Protection Manager (OPM) 密钥交换的工作原理相同,但 OPM 缓冲区包含会话密钥以外的其他数据。 用于 OPM 密钥交换的同一证书可用于经过身份验证的通道。

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

要求

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

另请参阅

D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE