функция обратного вызова 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 байт. Этот обмен идентичен работе обмена ключами Output Protection Manager (OPM), за исключением того, что буфер OPM содержит дополнительные данные, кроме ключа сеанса. Тот же сертификат, используемый для обмена ключами OPM, можно использовать для обмена ключами D3DKEYEXCHANGE_RSAES_OAEP.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | CryptoSessionKeyExchange поддерживается начиная с операционной системы Windows 7. |
целевая платформа | Настольный |
заголовка | d3dumddi.h (include D3dumddi.h) |