функция обратного вызова PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE (d3dumddi.h)

Функция CryptoSessionKeyExchange согласовывает ключ сеанса.

Синтаксис

PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE Pfnd3dddiCryptosessionkeyexchange;

HRESULT Pfnd3dddiCryptosessionkeyexchange(
  HANDLE hDevice,
  D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE *unnamedParam2
)
{...}

Параметры

hDevice

Дескриптор устройства отображения (графический контекст).

unnamedParam2

pData [in, out]

Указатель на структуру D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE , описывающую ключ сеанса, используемый для шифрования.

Возвращаемое значение

CryptoSessionKeyExchange возвращает одно из следующих значений:

Код возврата Описание
S_OK Ключ сеанса успешно обменивается.
E_OUTOFMEMORY CryptoSessionKeyExchange не удалось выделить необходимую память для ее завершения.

Комментарии

Драйвер должен поддерживать только один механизм обмена ключами для каждого типа шифрования. Корпорация Майкрософт стандартизировала тип обмена ключами D3DKEYEXCHANGE_RSAES_OAEP. Однако поставщики оборудования могут использовать собственные механизмы обмена ключами.

Для D3DKEYEXCHANGE_RSAES_OAEP элемент pData структуры D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE указывает на буфер, содержащий ключ сеанса, который приложение ранее шифровало RSAES-OAEP с помощью открытого ключа из сертификата сеанса шифрования драйвера. Фактический размер буфера составляет 256 байт. Этот обмен идентичен обмену ключами диспетчера защиты вывода (OPM), за исключением того, что буфер OPM содержит дополнительные данные, кроме ключа сеанса. Для обмена ключами D3DKEYEXCHANGE_RSAES_OAEP можно использовать тот же сертификат, который используется для обмена ключами OPM.

Требования

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

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

D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE