функция обратного вызова 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 не NULL guid GUID, драйвер должен завершиться ошибкой D3DDDIERR_UNSUPPORTEDCRYPTO, если тип шифрования в члене CryptoType не поддерживается профилем декодирования.

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается начиная с Windows 7.
целевая платформа Настольный
заголовка d3dumddi.h (include D3dumddi.h)

См. также

CryptoSessionKeyExchange

D3DDDIARG_CREATECRYPTOSESSION