функция обратного вызова 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, графический адаптер не требует отдельного вектора инициализации для шифрования данных. То есть ключ сеанса используется для шифрования данных.

 

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

None

Remarks

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

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

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

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

Требования

Требование Значение
Минимальная версия клиента Windows 8
Минимальная версия сервера Windows Server 2012
Целевая платформа Персональный компьютер
Верхняя часть d3d10umddi.h (включая D3d10umddi.h)

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

CreateCryptoSession

D3D11_1DDI_AES_CTR_IV