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