PFND3D11_1DDI_CREATECRYPTOSESSION funzione di callback (d3d10umddi.h)

Crea una sessione di crittografia per crittografare il contenuto video inviato al driver miniport di visualizzazione.

Sintassi

PFND3D11_1DDI_CREATECRYPTOSESSION Pfnd3d111DdiCreatecryptosession;

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

Parametri

hDevice

Handle per il dispositivo di visualizzazione (contesto grafico).

pCreateData

Puntatore a una struttura D3D11_1DDIARG_CREATECRYPTOSESSION . Questa struttura specifica gli attributi della sessione di crittografia da creare.

hCryptoSession

Handle per i dati privati del driver per la sessione di crittografia. Per altre informazioni, vedere la sezione Osservazioni.

hRTCryptoSession

Handle per la sessione di crittografia che il driver deve usare quando viene chiamato nel runtime Direct3D.

Valore restituito

Restituisce uno dei valori seguenti:

Codice restituito Descrizione
S_OK Il canale autenticato è stato creato correttamente.
D3DDDIERR_DEVICEREMOVED La scheda grafica è stata rimossa.
D3DDDIERR_UNSUPPORTEDCRYPTO È stato specificato un tipo di crittografia non supportato dal profilo di decodifica.
E_OUTOFMEMORY Memoria non disponibile per completare l'operazione.

Commenti

Il runtime Direct3D chiama CreateCryptoSession per creare una sessione di crittografia usata dal runtime per gestire una chiave di sessione e per eseguire operazioni di crittografia per il contenuto video archiviato in memoria protetta.

Il runtime chiama CreateCryptoSession dopo che ha chiamato il CalcPrivateCryptoSessionSize del driver per determinare le dimensioni in byte per i dati privati richiesti dal driver per la sessione di crittografia. Il runtime alloca la memoria per questi dati privati per il driver. Il driver usa questa memoria per archiviare i dati privati correlati alla sessione di crittografia.

Quando il runtime chiama CreateCryptoSession, passa l'handle alla memoria dei dati privati nel parametro hCryptoSession . Questo handle è in realtà un puntatore alla memoria.

Il driver deve tenere traccia dell'handle per il dispositivo di visualizzazione usato per creare la sessione di crittografia. Il driver deve avere esito negativo per tutte le chiamate successive che usano questa sessione di crittografia creata, ad esempio NegotiateCryptoSessionKeyExchange, se il dispositivo di visualizzazione specificato in tali chiamate è diverso dal dispositivo di visualizzazione usato per creare la sessione di crittografia.

Se il membro DecodeProfile della struttura D3D11_1DDIARG_CREATECRYPTOSESSION è impostato su NULL_GUID, la sessione di crittografia non verrà usata per la decodifica DXVA (DirectX Video Acceleration). Se DecodeProfile non è impostato su NULL_GUID, il driver deve interrompere la chiamata con D3DDDIERR_UNSUPPORTEDCRYPTO se il membro CryptoType è impostato su un tipo di crittografia non supportato dal profilo di decodifica.

Requisiti

Requisito Valore
Client minimo supportato Windows 8
Server minimo supportato Windows Server 2012
Piattaforma di destinazione Desktop
Intestazione d3d10umddi.h (include D3d10umddi.h)

Vedi anche

CalcPrivateCryptoSessionSize

D3D11_1DDIARG_CREATECRYPTOSESSION

NegotiateCryptoSessionKeyExchange