PFND3D11_1DDI_ENCRYPTIONBLT función de devolución de llamada (d3d10umddi.h)

Lee los datos cifrados de una superficie protegida.

Sintaxis

PFND3D11_1DDI_ENCRYPTIONBLT Pfnd3d111DdiEncryptionblt;

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

Parámetros

hDevice

Identificador del dispositivo de visualización (contexto de gráficos).

hCryptoSession

Identificador de los datos privados del controlador para la sesión criptográfica. El tiempo de ejecución de Direct3D creó este identificador y se pasó al controlador en la llamada a la función CreateCryptoSession .

hSrcResource

Identificador del recurso que contiene los datos de origen.

hDstResource

Puntero al recurso donde se van a escribir los datos cifrados.

IVSize

Tamaño, en bytes, del vector de inicialización (IV).

pIV

Puntero a un bloque de memoria que contiene el vector de inicialización necesario para cifrar los datos bitblt. Para obtener más información, vea la sección Comentarios.

Nota  

Si pIV es NULL, el adaptador de gráficos no requiere un vector de inicialización independiente para cifrar los datos. Es decir, la clave de sesión se usa para cifrar los datos.

 

Valor devuelto

None

Observaciones

Esta función tiene las siguientes limitaciones:

  • La función no puede leer subrectangles ni superficies parcialmente cifradas.
  • La función no puede leer parcialmente los búferes cifrados parcialmente. Muchas soluciones de cifrado basadas en hardware no permitirán lecturas sin cifrar de la memoria protegida.
  • La superficie protegida debe ser una superficie sin formato fuera de la pantalla o un destino de representación.
  • La superficie de destino debe ser una superficie de memoria del sistema que se creó mediante la alineación adecuada, como se describió anteriormente.
  • La superficie protegida no puede ser multimuestreo.
  • La función no admite la conversión de espacio de color o de extensión.
Para el cifrado AES-CTR de 128 bits, el parámetro pIV apunta a una estructura de D3D11_1DDI_AES_CTR_IV asignada por la aplicación. Sin embargo, el controlador o el adaptador de gráficos rellenan el contenido real de esta estructura. Cuando se genera el primer IV, el controlador o el adaptador inicializa el miembro IV de esta estructura en un número aleatorio. Para cada IV posterior, el autor de la llamada incrementa el miembro IV , asegurándose de que el valor siempre aumenta. Este procedimiento permite a la aplicación validar que el mismo IV nunca se usa más de una vez con el mismo par de claves.

En el caso de otros tipos de cifrado, se puede usar una estructura diferente o el cifrado podría no usar un IV.

Nota Esta función no respeta un predicado de direct3D versión 11 que se puede haber establecido.
 

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8
Servidor mínimo compatible Windows Server 2012
Plataforma de destino Escritorio
Encabezado d3d10umddi.h (incluya D3d10umddi.h)

Consulte también

CreateCryptoSession

D3D11_1DDI_AES_CTR_IV