PFND3DWDDM2_4DDI_NEGOTIATECRYPTOSESSIONKEYEXCHANGE回调函数 (d3d10umddi.h)

为加密会话对象建立会话密钥。

语法

PFND3DWDDM2_4DDI_NEGOTIATECRYPTOSESSIONKEYEXCHANGE Pfnd3dwddm24DdiNegotiatecryptosessionkeyexchange;

HRESULT Pfnd3dwddm24DdiNegotiatecryptosessionkeyexchange(
  D3D10DDI_HDEVICE hDevice,
  D3D11_1DDI_HCRYPTOSESSION hCryptoSession,
  D3DWDDM2_4DDI_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS flags,
  UINT DataSize,
  BYTE *pData
)
{...}

参数

hDevice

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

hCryptoSession

加密会话的驱动程序专用数据的句柄。 此句柄由 Direct3D 运行时创建,并在调用 CreateCryptoSession 时传递给驱动程序。

flags

函数的标志值。

DataSize

pData 成员指向的数据的大小(以字节为单位)。

pData

指向包含加密会话密钥的缓冲区的指针。

返回值

返回以下 HRESULT 值之一:

返回代码 说明
S_OK 已成功协商加密会话的会话密钥。
E_INVALIDARG 参数已验证,确定为不正确。
E_OUTOFMEMORY 内存无法完成操作。

注解

pData 参数引用包含加密会话的会话密钥的缓冲区。 密钥交换机制取决于加密会话使用的加密算法的类型。

对于使用 RSA 加密方案 - 最佳非对称加密填充 (RSAES-OAEP) 算法的会话,密钥缓冲区必须包含 256 字节的数据,并且必须使用 RSA 加密方案 - 最佳非对称加密填充 (RSAES-OAEP) 算法以及加密会话证书中的公钥进行加密。

加密会话的密钥交换与输出保护管理器 (OPM) 接口的密钥交换相同。 但是,OPM 密钥缓冲区包含会话密钥以外的其他数据。

注意

同一证书可用于加密会话和 OPM 会话密钥。

要求

要求
目标平台 Windows
标头 d3d10umddi.h (包括 S3d10umddi.h)