Compartilhar via


PFND3D11_1DDI_ENCRYPTIONBLT função de retorno de chamada (d3d10umddi.h)

Lê dados criptografados de uma superfície protegida.

Sintaxe

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

Um identificador para o dispositivo de exibição (contexto gráfico).

hCryptoSession

Um identificador para os dados privados do driver para a sessão criptográfica. Esse identificador foi criado pelo runtime do Direct3D e passado para o driver na chamada para a função CreateCryptoSession .

hSrcResource

Um identificador para o recurso que contém os dados de origem.

hDstResource

Um ponteiro para o recurso em que os dados criptografados devem ser gravados.

IVSize

O tamanho, em bytes, do iv (vetor de inicialização).

pIV

Um ponteiro para um bloco de memória que contém o vetor de inicialização necessário para criptografar os dados bitblt. Para obter mais informações, consulte a seção Comentários.

Observação  

Se pIV for NULL, o adaptador gráfico não exigirá um vetor de inicialização separado para criptografar os dados. Ou seja, a chave de sessão é usada para criptografar os dados.

 

Retornar valor

Nenhum

Comentários

Essa função tem as seguintes limitações:

  • A função não pode ler subrectangles ou superfícies parcialmente criptografadas.
  • A função não pode ler buffers parcialmente criptografados. Muitas soluções de criptografia baseadas em hardware não permitirão leituras não criptografadas da memória protegida.
  • A superfície protegida deve ser uma superfície simples fora da tela ou um destino de renderização.
  • A superfície de destino deve ser uma superfície de memória do sistema que foi criada usando o alinhamento adequado, conforme descrito anteriormente.
  • A superfície protegida não pode ser de várias superfícies.
  • A função não dá suporte à conversão de espaço de cor ou alongamento.
Para criptografia AES-CTR de 128 bits, o parâmetro pIV aponta para uma estrutura de D3D11_1DDI_AES_CTR_IV alocada pelo aplicativo. No entanto, o conteúdo real dessa estrutura é preenchido pelo driver ou adaptador gráfico. Quando o primeiro IV é gerado, o driver ou adaptador inicializa o membro IV dessa estrutura para um número aleatório. Para cada IV subsequente, o chamador incrementa o membro IV , garantindo que o valor sempre aumente. Esse procedimento permite que o aplicativo valide se o mesmo IV nunca é usado mais de uma vez com o mesmo par de chaves.

Para outros tipos de criptografia, uma estrutura diferente pode ser usada ou a criptografia pode não usar um IV.

Nota Essa função não respeita um predicado direct3D versão 11 que pode ter sido definido.
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8
Servidor mínimo com suporte Windows Server 2012
Plataforma de Destino Área de Trabalho
Cabeçalho d3d10umddi.h (inclua D3d10umddi.h)

Confira também

CreateCryptoSession

D3D11_1DDI_AES_CTR_IV