Поделиться через


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

Считывает зашифрованные данные из защищенной поверхности.

Синтаксис

PFND3D11_1DDI_ENCRYPTIONBLT Pfnd3d111DdiEncryptionblt;

void Pfnd3d111DdiEncryptionblt(
  D3D10DDI_HDEVICE hDevice,
  D3D11_1DDI_HCRYPTOSESSION hCryptoSession,
  D3D10DDI_HRESOURCE hSrcResource,
  D3D10DDI_HRESOURCE hDstResource,
  UINT IVSize,
  const VOID *pIV
)
{...}

Параметры

hDevice

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

hCryptoSession

Дескриптор частных данных драйвера для криптографического сеанса. Этот дескриптор был создан средой выполнения Direct3D и передан драйверу в вызове функции CreateCryptoSession.

hSrcResource

Дескриптор ресурса, содержащего исходные данные.

hDstResource

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

IVSize

Размер в байтах вектора инициализации (IV).

pIV

Указатель на блок памяти, содержащий вектор инициализации, необходимый для шифрования данных bitblt. Дополнительные сведения см. в разделе "Примечания".

Примечание   

Если pIV имеет значение NULL, графический адаптер не требует отдельного вектора инициализации для шифрования данных. То есть ключ сеанса используется для шифрования данных.

 

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

Никакой

Замечания

Эта функция имеет следующие ограничения:

  • Функция не может считывать вложенные фрагменты или частично зашифрованные поверхности.
  • Функция не может считывать частично зашифрованные буферы. Многие аппаратные решения шифрования не разрешают нешифрованные операции чтения из защищенной памяти.
  • Защищенная поверхность должна быть либо внеэкранной обычной поверхностью, либо целевым объектом отрисовки.
  • Целевая поверхность должна быть поверхностью памяти системы, созданной с помощью правильного выравнивания, как описано ранее.
  • Защищенная поверхность не может быть многофакторной.
  • Функция не поддерживает преобразование растяжения или цветового пространства.
Для 128-разрядного шифрования AES-CTR параметр p IV указывает на структуру D3D11_1DDI_AES_CTR_IV, выделенную приложением. Однако фактическое содержимое этой структуры заполняется драйвером или графическим адаптером. При создании первого IV драйвер или адаптер инициализирует IV член этой структуры случайным числом. Для каждого последующего IV вызывающий объект увеличивает IV член, гарантируя, что значение всегда увеличивается. Эта процедура позволяет приложению проверить, что один и тот же IV никогда не используется несколько раз с одной парой ключей.

Для других типов шифрования может использоваться другая структура или шифрование может не использовать IV.

Примечание Эта функция не учитывает предикат Direct3D версии 11, который может быть задан.
 

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 8
минимальный поддерживаемый сервер Windows Server 2012
целевая платформа Настольный
заголовка d3d10umddi.h (include D3d10umddi.h)

См. также

CreateCryptoSession

D3D11_1DDI_AES_CTR_IV