Compartilhar via


Estrutura D3DCONTENTPROTECTIONCAPS (d3d9caps.h)

Descreve os recursos de proteção de conteúdo de um driver de exibição. Para obter os recursos, chame IDirect3DDevice9Video::GetContentProtectionCaps.

Sintaxe

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

Membros

Caps

OR bit a bit de zero ou mais sinalizadores.

Valor Significado
D3DCPCAPS_SOFTWARE
0x00000001
A criptografia é implementada no software pelo driver.
D3DCPCAPS_HARDWARE
0x00000002
A criptografia é implementada em hardware pela GPU.
D3DCPCAPS_PROTECTIONALWAYSON
0x00000004
A proteção de conteúdo é sempre aplicada a uma superfície direct3D protegida, independentemente de o aplicativo habilitar explicitamente a proteção de conteúdo.
D3DCPCAPS_PARTIALDECRYPTION
0x00000008
O driver pode usar buffers parcialmente criptografados. Se essa funcionalidade não estiver presente, todo o buffer deverá ser criptografado ou limpo.
D3DCPCAPS_CONTENTKEY
0x00000010
O driver pode criptografar dados usando uma chave de conteúdo separada criptografada usando a chave de sessão. Para obter mais informações, consulte IDirect3DCryptoSession9::D ecryptionBlt.
D3DCPCAPS_FRESHENSESSIONKEY
0x00000020
O driver pode atualizar a chave de sessão sem renegociar a chave. Para atualizar a chave de sessão, chame IDirect3DCryptoSession9::StartSessionKeyRefresh.
D3DCPCAPS_ENCRYPTEDREADBACK
0x00000040
O driver pode ler dados criptografados de uma superfície protegida usando o método IDirect3DCryptoSession9::EncryptionBlt .
D3DCPCAPS_ENCRYPTEDREADBACKKEY
0x00000080
O driver requer uma chave separada para ler dados criptografados de uma superfície protegida. Para obter essa segunda chave, chame IDirect3DCryptoSession9::GetEncryptionBltKey.
D3DCPCAPS_SEQUENTIAL_CTR_IV
0x00000100
Se o tipo de criptografia for D3DCRYPTOTYPE_AES128_CTR, o aplicativo deverá usar uma contagem sequencial na estrutura DXVA2_AES_CTR_IV . Para obter mais informações, consulte os comentários para DXVA2_AES_CTR_IV.

KeyExchangeType

Especifica o tipo de troca de chaves necessário para negociar a chave de sessão. Os GUIDs a seguir são definidos.

Valor Significado
D3DKEYEXCHANGE_RSAES_OAEP
O decodificador criptografa a chave de sessão usando o Esquema de Criptografia RSA – Preenchimento de Criptografia Assimétrica Ideal (RSAES-OAEP).
D3DKEYEXCHANGE_DXVA
Use o mecanismo de troca de chaves definido para o DirectX Video Acceleration 2 (DXVA-2).

BufferAlignmentStart

O alinhamento de memória necessário para buffers usados pelo mecanismo criptográfico de GPU. Se o aplicativo usar um buffer de memória do sistema para passar conteúdo criptografado para a GPU ou para ler novamente o conteúdo criptografado da GPU, o endereço inicial do buffer deverá ser um múltiplo desse valor.

BlockAlignmentSize

O alinhamento de bloco exigido pelo mecanismo criptográfico de GPU. O tamanho dos dados a serem criptografados deve ser um múltiplo desse valor.

ProtectedMemorySize

A quantidade total de memória que pode ser usada para manter superfícies protegidas.

Requisitos

   
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Cabeçalho d3d9caps.h (inclua D3d9.h)

Confira também

Estruturas de vídeo direct3D

IDirect3DDevice9Video::GetContentProtectionCaps