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