функция обратного вызова PFND3D11_1DDI_DECRYPTIONBLT (d3d10umddi.h)
Записывает зашифрованные данные в защищенную поверхность. Эта функция вызывается только в том случае, если D3D11_1DDI_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT задан в caps член структуры D3D11_1DDI_VIDEO_CONTENT_PROTECTION_CAPS.
Синтаксис
PFND3D11_1DDI_DECRYPTIONBLT Pfnd3d111DdiDecryptionblt;
void Pfnd3d111DdiDecryptionblt(
D3D10DDI_HDEVICE hDevice,
D3D11_1DDI_HCRYPTOSESSION hCryptoSession,
D3D10DDI_HRESOURCE hSrcResource,
D3D10DDI_HRESOURCE hDstResource,
const D3D11_1DDI_ENCRYPTED_BLOCK_INFO *pEncryptedBlockInfo,
UINT ContentKeySize,
const VOID *pContentKey,
UINT IVSize,
const VOID *pIV
)
{...}
Параметры
hDevice
Дескриптор устройства отображения (графический контекст).
hCryptoSession
Дескриптор частных данных драйвера для криптографического сеанса. Этот дескриптор был создан средой выполнения Direct3D и передан драйверу в вызове функции CreateCryptoSession.
hSrcResource
Дескриптор ресурса, содержащего исходные данные.
hDstResource
Указатель на ресурс, в котором записываются зашифрованные данные.
pEncryptedBlockInfo
Указатель на структуру D3D11_1DDI_ENCRYPTED_BLOCK_INFO, описывающую части буфера, зашифрованные.
ContentKeySize
Размер ключа содержимого в байтах.
pContentKey
Указатель на блок памяти, содержащий ключ содержимого, необходимый для расшифровки данных передачи (bitblt).
Если pContentKey не задано значение NULL, буферные данные шифруются с помощью указанного ключа содержимого. Данные для этого ключа шифруются с помощью ключа сеанса с алгоритмом AES-ECB.
Если pContentKey имеет значение NULL, графический адаптер не требует отдельного ключа содержимого для расшифровки данных. В этом случае ключ сеанса используется для расшифровки данных.
IVSize
Размер в байтах вектора инициализации (IV).
pIV
Указатель на блок памяти, содержащий вектор инициализации, необходимый для расшифровки данных bitblt. Дополнительные сведения см. в разделе "Примечания".
Если pIV имеет значение NULL, графический адаптер не требует отдельного вектора инициализации для расшифровки данных. То есть ключ сеанса используется для расшифровки данных.
Возвращаемое значение
Никакой
Замечания
Для 128-разрядного шифрования AES-CTR параметр p IV указывает на структуру D3D11_1DDI_AES_CTR_IV, выделенную приложением. Однако фактическое содержимое этой структуры заполняется драйвером или графическим адаптером. При создании первого IV драйвер или адаптер инициализирует IV член этой структуры случайным числом. Для каждого последующего IV вызывающий объект увеличивает IV член, гарантируя, что значение всегда увеличивается. Эта процедура позволяет приложению проверить, что один и тот же IV никогда не используется несколько раз с одной парой ключей.
Для других типов шифрования может использоваться другая структура или шифрование может не использовать IV.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 8 |
минимальный поддерживаемый сервер | Windows Server 2012 |
целевая платформа | Настольный |
заголовка | d3d10umddi.h (include D3d10umddi.h) |