Поделиться через


функция обратного вызова 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 Драйвер не поддерживает GUID, указанный в cryptoTypemember структуры D3DDDIARG_CREATECRYPTOSESSION , или NULL_GUID (все нули) указан в CryptoTypemember.
D3DDDIERR_UNSUPPORTEDCRYPTO Драйвер не поддерживает тип шифрования для указанного типа декодирования.

Комментарии

Если элемент DecodeProfile структуры D3DDDIARG_CREATECRYPTOSESSION NULL_GUID, сеанс шифрования не будет использоваться для декодирования DirectX Video Acceleration (DirectX VA). Если DecodeProfile не имеет GUID NULL , драйвер должен завершиться ошибкой с D3DDDIERR_UNSUPPORTEDCRYPTO если тип шифрования в элементе CryptoType не поддерживается профилем декодирования.

Драйвер возвращает дескриптор для сеанса шифрования в члене hCryptoSessionD3DDDIARG_CREATECRYPTOSESSION , который среда выполнения передает во всех последующих вызовах сеанса шифрования (например, CryptoSessionKeyExchange).

Драйвер должен отслеживать устройство отображения (hDevice), которое использовалось для создания сеанса шифрования. Драйвер должен завершить все последующие вызовы, использующие созданный сеанс шифрования, если устройство отображения, указанное в этих вызовах, отличается от устройства отображения, которое использовалось для создания сеанса шифрования.

Требования

Требование Значение
Минимальная версия клиента Поддерживается начиная с Windows 7.
Целевая платформа Персональный компьютер
Верхняя часть d3dumddi.h (включая D3dumddi.h)

См. также раздел

CryptoSessionKeyExchange

D3DDDIARG_CREATECRYPTOSESSION