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 vetor de inicialização (IV).

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.

de 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.

 

Valor de retorno

Nenhum

Observações

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

  • A função não pode ler subreectangles 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 multiplatafa.
  • A função não dá suporte à conversão de espaço de cor ou alongamento.
Para criptografia de AES-CTR de 128 bits, o parâmetro pIV aponta para uma estrutura 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 IV membro dessa estrutura para um número aleatório. Para cada IV subsequente, o chamador incrementa a IV membro, garantindo que o valor sempre aumente. Esse procedimento permite que o aplicativo valide que 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 uma IV.

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

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 8
servidor com suporte mínimo Windows Server 2012
da Plataforma de Destino Área de trabalho
cabeçalho d3d10umddi.h (inclua D3d10umddi.h)

Consulte também

CreateCryptoSession

D3D11_1DDI_AES_CTR_IV