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) |