функция обратного вызова PFND3D11_1DDI_CREATECRYPTOSESSION (d3d10umddi.h)
Создает сеанс шифрования для шифрования содержимого видео, отправляемого в драйвер мини-порта отображения.
Синтаксис
PFND3D11_1DDI_CREATECRYPTOSESSION Pfnd3d111DdiCreatecryptosession;
HRESULT Pfnd3d111DdiCreatecryptosession(
D3D10DDI_HDEVICE hDevice,
const D3D11_1DDIARG_CREATECRYPTOSESSION *pCreateData,
D3D11_1DDI_HCRYPTOSESSION hCryptoSession,
D3D11_1DDI_HRTCRYPTOSESSION hRTCryptoSession
)
{...}
Параметры
hDevice
Дескриптор устройства отображения (графический контекст).
pCreateData
Указатель на структуру D3D11_1DDIARG_CREATECRYPTOSESSION. Эта структура указывает атрибуты создаваемого сеанса шифрования.
hCryptoSession
Дескриптор частных данных драйвера для криптографического сеанса. Дополнительные сведения см. в разделе "Примечания".
hRTCryptoSession
Дескриптор криптографического сеанса, который драйвер должен использовать при вызове обратно в среду выполнения Direct3D.
Возвращаемое значение
Возвращает одно из следующих значений:
код возврата | описание |
---|---|
S_OK | Канал, прошедший проверку подлинности, был успешно создан. |
D3DDDIERR_DEVICEREMOVED | Графический адаптер был удален. |
D3DDDIERR_UNSUPPORTEDCRYPTO | Был указан криптографический тип, который не поддерживается профилем декодирования. |
E_OUTOFMEMORY | Память недоступна для завершения операции. |
Замечания
Среда выполнения Direct3D вызывает CreateCryptoSession для создания криптографического сеанса, который среда выполнения использует для управления ключом сеанса и выполнения криптографических операций для содержимого видео, хранящегося в защищенной памяти.
Среда выполнения вызывает CreateCryptoSession после вызова драйвера CalcPrivateCryptoSessionSize, чтобы определить размер в байтах для частных данных, необходимых драйверу для сеанса шифрования. Среда выполнения выделяет память для этих частных данных для драйвера. Драйвер использует эту память для хранения частных данных, связанных с криптографическим сеансом.
Когда среда выполнения вызывает CreateCryptoSession, она передает дескриптор памяти частных данных в параметре hCryptoSession. Этот дескриптор фактически является указателем на память.
Драйвер должен отслеживать дескриптор на отображаемое устройство, которое использовалось для создания сеанса шифрования. Драйвер должен завершиться сбоем всех последующих вызовов, использующих этот созданный криптографический сеанс, например NegotiateCryptoSessionKeyExchange, если отображаемое устройство, указанное в этих вызовах, отличается от устройства отображения, которое использовалось для создания криптографического сеанса.
Если элемент DecodeProfile структуры D3D11_1DDIARG_CREATECRYPTOSESSION имеет значение NULL_GUID, криптографический сеанс не будет использоваться для декодирования видеотрансляций DirectX (DXVA). Если декодепрофайла не задано значение NULL_GUID, драйвер должен завершить вызов D3DDDIERR_UNSUPPORTEDCRYPTO, если элемент crypto Type имеет тип шифрования, который не поддерживается профилем декодирования.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 8 |
минимальный поддерживаемый сервер | Windows Server 2012 |
целевая платформа | Настольный |
заголовка | d3d10umddi.h (include D3d10umddi.h) |