PFND3DDDI_CREATECRYPTOSESSION回调函数 (d3dumddi.h)

CreateCryptoSession 函数创建一个加密会话,Direct3D 运行时使用该会话来管理会话密钥,以及执行进出受保护内存的加密操作。

语法

PFND3DDDI_CREATECRYPTOSESSION Pfnd3dddiCreatecryptosession;

HRESULT Pfnd3dddiCreatecryptosession(
  HANDLE hDevice,
  D3DDDIARG_CREATECRYPTOSESSION *unnamedParam2
)
{...}

参数

hDevice

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

unnamedParam2

pData [in, out]

指向 D3DDDIARG_CREATECRYPTOSESSION 结构的指针。 输入时,此结构包含驱动程序可以使用的信息。 在输出时,驱动程序在结构中指定 Microsoft Direct3D 运行时可以使用的信息。

返回值

CreateCryptoSession 返回以下值之一:

返回代码 说明
S_OK 已成功创建加密会话。
E_OUTOFMEMORY CreateCryptoSession 无法为其分配完成所需的内存。
D3DDDIERR_NOTAVAILABLE 驱动程序不支持在 D3DDDIARG_CREATECRYPTOSESSION 结构的 CryptoTypemember 中指定的 GUID,也不支持在 CryptoTypemember 中指定所有零NULL_GUID () 。
D3DDDIERR_UNSUPPORTEDCRYPTO 驱动程序不支持指定解码类型的加密类型。

注解

如果NULL_GUID D3DDDIARG_CREATECRYPTOSESSION 结构的 DecodeProfile 成员,则加密会话将不用于 DirectX 视频加速 (DirectX VA) 解码。 如果 DecodeProfile 不是 NULL GUID,则如果解码配置文件不支持 CryptoType 成员中的加密类型,驱动程序应会失败并D3DDDIERR_UNSUPPORTEDCRYPTO。

驱动程序在 D3DDDIARG_CREATECRYPTOSESSIONhCryptoSession 成员中返回加密会话的句柄,运行时在所有后续加密会话调用中传递该句柄 (例如 CryptoSessionKeyExchange) 。

驱动程序必须跟踪用于创建加密会话的显示设备 (hDevice) 。 如果这些调用中指定的显示设备与用于创建加密会话的显示设备不同,则驱动程序应使使用此创建的加密会话的所有后续调用失败。

要求

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

另请参阅

CryptoSessionKeyExchange

D3DDDIARG_CREATECRYPTOSESSION