Estructura D3DCONTENTPROTECTIONCAPS (d3d9caps.h)

Describe las funcionalidades de protección de contenido de un controlador de pantalla. Para obtener las funcionalidades, llame a IDirect3DDevice9Video::GetContentProtectionCaps.

Sintaxis

typedef struct _D3DCONTENTPROTECTIONCAPS {
  DWORD     Caps;
  GUID      KeyExchangeType;
  UINT      BufferAlignmentStart;
  UINT      BlockAlignmentSize;
  ULONGLONG ProtectedMemorySize;
} D3DCONTENTPROTECTIONCAPS;

Miembros

Caps

OR bit a bit de cero o más marcas.

Valor Significado
D3DCPCAPS_SOFTWARE
0x00000001
El controlador implementa el cifrado en software.
D3DCPCAPS_HARDWARE
0x00000002
El cifrado se implementa en hardware mediante la GPU.
D3DCPCAPS_PROTECTIONALWAYSON
0x00000004
La protección de contenido siempre se aplica a una superficie direct3D protegida, independientemente de si la aplicación habilita explícitamente la protección de contenido.
D3DCPCAPS_PARTIALDECRYPTION
0x00000008
El controlador puede usar búferes parcialmente cifrados. Si esta funcionalidad no está presente, todo el búfer debe cifrarse o borrarse.
D3DCPCAPS_CONTENTKEY
0x00000010
El controlador puede cifrar los datos mediante una clave de contenido independiente cifrada mediante la clave de sesión. Para obtener más información, vea IDirect3DCryptoSession9::D ecryptionBlt.
D3DCPCAPS_FRESHENSESSIONKEY
0x00000020
El controlador puede actualizar la clave de sesión sin renegociar la clave. Para actualizar la clave de sesión, llame a IDirect3DCryptoSession9::StartSessionKeyRefresh.
D3DCPCAPS_ENCRYPTEDREADBACK
0x00000040
El controlador puede leer datos cifrados de una superficie protegida mediante el método IDirect3DCryptoSession9::EncryptionBlt .
D3DCPCAPS_ENCRYPTEDREADBACKKEY
0x00000080
El controlador requiere una clave independiente para leer datos cifrados de una superficie protegida. Para obtener esta segunda clave, llame a IDirect3DCryptoSession9::GetEncryptionBltKey.
D3DCPCAPS_SEQUENTIAL_CTR_IV
0x00000100
Si el tipo de cifrado es D3DCRYPTOTYPE_AES128_CTR, la aplicación debe usar un recuento secuencial en la estructura DXVA2_AES_CTR_IV . Para obtener más información, vea los comentarios de DXVA2_AES_CTR_IV.

KeyExchangeType

Especifica el tipo de intercambio de claves necesario para negociar la clave de sesión. Se definen los siguientes GUID.

Valor Significado
D3DKEYEXCHANGE_RSAES_OAEP
El descodificador cifra la clave de sesión mediante el esquema de cifrado RSA: relleno óptimo de cifrado asimétrico (RSAES-OAEP).
D3DKEYEXCHANGE_DXVA
Usa el mecanismo de intercambio de claves definido para DirectX Video Acceleration 2 (DXVA-2).

BufferAlignmentStart

La alineación de memoria necesaria para los búferes usados por el motor criptográfico de GPU. Si la aplicación usa un búfer de memoria del sistema para pasar contenido cifrado a la GPU o para leer contenido cifrado de la GPU, la dirección inicial del búfer debe ser un múltiplo de este valor.

BlockAlignmentSize

Alineación de bloques requerida por el motor criptográfico de GPU. El tamaño de los datos que se van a cifrar debe ser un múltiplo de este valor.

ProtectedMemorySize

Cantidad total de memoria que se puede usar para contener superficies protegidas.

Requisitos

   
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Encabezado d3d9caps.h (incluya D3d9.h)

Consulte también

Estructuras de vídeo de Direct3D

IDirect3DDevice9Video::GetContentProtectionCaps