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 miniporto 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.
Valor de retorno
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. |
Observações
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 o calcPrivateCryptoSessionSize do driver para determinar o tamanho em bytes para os dados privados necessários pelo driver 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 DecodeProfile membro da estrutura de 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 sem suporte pelo perfil de decodificação.
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) |