Partager via


PFND3D11_1DDI_CREATECRYPTOSESSION fonction de rappel (d3d10umddi.h)

Crée une session de chiffrement pour chiffrer le contenu vidéo envoyé au pilote miniport d’affichage.

Syntaxe

PFND3D11_1DDI_CREATECRYPTOSESSION Pfnd3d111DdiCreatecryptosession;

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

Paramètres

hDevice

Handle de l’appareil d’affichage (contexte graphique).

pCreateData

Pointeur vers une structure D3D11_1DDIARG_CREATECRYPTOSESSION. Cette structure spécifie les attributs de la session de chiffrement à créer.

hCryptoSession

Handle des données privées du pilote pour la session de chiffrement. Pour plus d’informations, consultez la section Remarques.

hRTCryptoSession

Handle de la session de chiffrement que le pilote doit utiliser lorsqu’il revient au runtime Direct3D.

Valeur de retour

Retourne l’une des valeurs suivantes :

code de retour Description
S_OK Le canal authentifié a été créé avec succès.
D3DDDIERR_DEVICEREMOVED La carte graphique a été supprimée.
D3DDDIERR_UNSUPPORTEDCRYPTO Un type de chiffrement a été spécifié qui n’est pas pris en charge par le profil de décodage.
E_OUTOFMEMORY La mémoire n’était pas disponible pour terminer l’opération.

Remarques

Le runtime Direct3D appelle CreateCryptoSession pour créer une session de chiffrement utilisée par le runtime pour gérer une clé de session et effectuer des opérations de chiffrement pour le contenu vidéo stocké en mémoire protégée.

Le runtime appelle CreateCryptoSession après avoir appelé le CalcPrivateCryptoSessionSize du pilote pour déterminer la taille en octets des données privées requises par le pilote pour la session de chiffrement. Le runtime alloue la mémoire pour ces données privées pour le pilote. Le pilote utilise cette mémoire pour stocker des données privées liées à la session de chiffrement.

Lorsque le runtime appelle CreateCryptoSession, il transmet le handle à la mémoire de données privées dans le paramètre hCryptoSession. Ce handle est en fait un pointeur vers la mémoire.

Le pilote doit suivre le handle sur l’appareil d’affichage utilisé pour créer la session de chiffrement. Le pilote doit échouer tous les appels suivants qui utilisent cette session de chiffrement créée, comme NegotiateCryptoSessionKeyExchange, si l’appareil d’affichage spécifié dans ces appels est différent de l’appareil d’affichage utilisé pour créer la session de chiffrement.

Si le DecodeProfile membre de la structure D3D11_1DDIARG_CREATECRYPTOSESSION est défini sur NULL_GUID, la session de chiffrement ne sera pas utilisée pour le décodage DXVA (DirectX Video Acceleration). Si DecodeProfile n’est pas défini sur NULL_GUID, le pilote doit échouer l’appel avec D3DDDIERR_UNSUPPORTEDCRYPTO si le membre CryptoType est défini sur un type de chiffrement qui n’est pas pris en charge par le profil de décodage.

Exigences

Exigence Valeur
client minimum pris en charge Windows 8
serveur minimum pris en charge Windows Server 2012
plateforme cible Bureau
d’en-tête d3d10umddi.h (include D3d10umddi.h)

Voir aussi

CalcPrivateCryptoSessionSize

D3D11_1DDIARG_CREATECRYPTOSESSION

NegotiateCryptoSessionKeyExchange