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) |