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 pour le périphérique 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 pour les données privées du pilote pour la session de chiffrement. Pour plus d'informations, consultez la section Notes.

hRTCryptoSession

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

Valeur retournée

Renvoie 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 non pris en charge par le profil de décodage a été spécifié.
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 que le runtime utilise pour gérer une clé de session et effectuer des opérations de chiffrement pour le contenu vidéo stocké dans la 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 les 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ée dans le paramètre hCryptoSession . Ce handle est en fait un pointeur vers la mémoire.

Le pilote doit effectuer le suivi du handle sur le périphérique d’affichage qui a été utilisé pour créer la session de chiffrement. Le pilote doit échouer tous les appels suivants qui utilisent cette session de chiffrement créée, par exemple NegotiateCryptoSessionKeyExchange, si le périphérique d’affichage spécifié dans ces appels est différent du périphérique d’affichage utilisé pour créer la session de chiffrement.

Si le membre DecodeProfile 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 directX Video Acceleration (DXVA). 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Serveur minimal pris en charge Windows Server 2012
Plateforme cible Desktop (Expérience utilisateur)
En-tête d3d10umddi.h (incluez D3d10umddi.h)

Voir aussi

CalcPrivateCryptoSessionSize

D3D11_1DDIARG_CREATECRYPTOSESSION

NegotiateCryptoSessionKeyExchange