Compartilhar via


PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE função de retorno de chamada (d3dumddi.h)

A função CryptoSessionKeyExchange negocia uma chave de sessão.

Sintaxe

PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE Pfnd3dddiCryptosessionkeyexchange;

HRESULT Pfnd3dddiCryptosessionkeyexchange(
  HANDLE hDevice,
  D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE *unnamedParam2
)
{...}

Parâmetros

hDevice

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

unnamedParam2

pData [in, out]

Um ponteiro para uma estrutura D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE que descreve uma chave de sessão usada para criptografia.

Retornar valor

CryptoSessionKeyExchange retorna um dos seguintes valores:

Código de retorno Descrição
S_OK A chave de sessão é trocada com êxito.
E_OUTOFMEMORY CryptoSessionKeyExchange não pôde alocar a memória necessária para que ela fosse concluída.

Comentários

O driver só deve dar suporte a um único mecanismo de troca de chaves para cada tipo de criptografia. A Microsoft padroniza o tipo de troca de chaves D3DKEYEXCHANGE_RSAES_OAEP. No entanto, os fornecedores de hardware podem usar mecanismos proprietários de troca de chaves.

Para D3DKEYEXCHANGE_RSAES_OAEP, o membro pData da estrutura D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE aponta para um buffer que contém a chave de sessão que um aplicativo anteriormente RSAES-OAEP criptografava com a chave pública do certificado de sessão de criptografia do driver. O tamanho real do buffer é de 256 bytes. Essa troca é idêntica à forma como a troca de chaves do OPM ( Output Protection Manager ) funciona, exceto que o buffer do OPM contém dados adicionais além da chave de sessão. O mesmo certificado usado para troca de chaves OPM pode ser usado para a troca de chaves D3DKEYEXCHANGE_RSAES_OAEP.

Requisitos

Requisito Valor
Cliente mínimo com suporte O CryptoSessionKeyExchange tem suporte a partir do sistema operacional Windows 7.
Plataforma de Destino Área de Trabalho
Cabeçalho d3dumddi.h (inclua D3dumddi.h)

Confira também

D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE