Compartilhar via


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

Cria uma sessão criptográfica para criptografar o conteúdo de vídeo que é enviado para o driver de miniporta de exibição.

Sintaxe

PFND3D11_1DDI_CREATECRYPTOSESSION Pfnd3d111DdiCreatecryptosession;

HRESULT Pfnd3d111DdiCreatecryptosession(
  D3D10DDI_HDEVICE hDevice,
  const D3D11_1DDIARG_CREATECRYPTOSESSION *pCreateData,
  D3D11_1DDI_HCRYPTOSESSION hCryptoSession,
  D3D11_1DDI_HRTCRYPTOSESSION hRTCryptoSession
)
{...}

Parâmetros

hDevice

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

pCreateData

Um ponteiro para uma estrutura D3D11_1DDIARG_CREATECRYPTOSESSION . Essa estrutura especifica os atributos da sessão criptográfica a ser criada.

hCryptoSession

Um identificador para os dados privados do driver para a sessão criptográfica. Para obter mais informações, consulte a seção Comentários.

hRTCryptoSession

Um identificador para a sessão criptográfica que o driver deve usar quando ele chama de volta para o runtime do Direct3D.

Retornar valor

Retorna um dos seguintes valores:

Código de retorno Descrição
S_OK O canal autenticado foi criado com êxito.
D3DDDIERR_DEVICEREMOVED O adaptador gráfico foi removido.
D3DDDIERR_UNSUPPORTEDCRYPTO Foi especificado um tipo criptográfico que não é compatível com o perfil de decodificação.
E_OUTOFMEMORY A memória não estava disponível para concluir a operação.

Comentários

O runtime do Direct3D chama CreateCryptoSession para criar uma sessão criptográfica que o runtime usa para gerenciar uma chave de sessão e executar operações criptográficas para conteúdo de vídeo armazenado na memória protegida.

O runtime chama CreateCryptoSession depois de ter chamado CalcPrivateCryptoSessionSize do driver para determinar o tamanho em bytes para os dados privados que o driver requer para a sessão criptográfica. O runtime aloca a memória para esses dados privados para o driver. O driver usa essa memória para armazenar dados privados relacionados à sessão criptográfica.

Quando o runtime chama CreateCryptoSession, ele passa o identificador para a memória de dados privados no parâmetro hCryptoSession . Esse identificador é, na verdade, um ponteiro para a memória.

O driver deve manter o controle do identificador para o dispositivo de exibição que foi usado para criar a sessão criptográfica. O driver deve falhar em todas as chamadas subsequentes que usam essa sessão criptográfica criada, como NegotiateCryptoSessionKeyExchange, se o dispositivo de exibição especificado nessas chamadas for diferente do dispositivo de exibição que foi usado para criar a sessão criptográfica.

Se o membro DecodeProfile da estrutura D3D11_1DDIARG_CREATECRYPTOSESSION estiver definido como NULL_GUID, a sessão criptográfica não será usada para decodificação de DXVA (Aceleração de Vídeo DirectX). Se DecodeProfile não estiver definido como NULL_GUID, o driver deverá falhar na chamada com D3DDDIERR_UNSUPPORTEDCRYPTO se o membro CryptoType estiver definido como um tipo criptográfico que não é compatível com o perfil de decodificação.

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

CalcPrivateCryptoSessionSize

D3D11_1DDIARG_CREATECRYPTOSESSION

NegotiateCryptoSessionKeyExchange