PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE fonction de rappel (d3dumddi.h)

La fonction CryptoSessionKeyExchange négocie une clé de session.

Syntaxe

PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE Pfnd3dddiCryptosessionkeyexchange;

HRESULT Pfnd3dddiCryptosessionkeyexchange(
  HANDLE hDevice,
  D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE *unnamedParam2
)
{...}

Paramètres

hDevice

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

unnamedParam2

pData [in, out]

Pointeur vers une structure D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE qui décrit une clé de session utilisée pour le chiffrement.

Valeur retournée

CryptoSessionKeyExchange retourne l’une des valeurs suivantes :

Code de retour Description
S_OK La clé de session est correctement échangée.
E_OUTOFMEMORY CryptoSessionKeyExchange n’a pas pu allouer la mémoire nécessaire pour qu’elle se termine.

Remarques

Le pilote ne doit prendre en charge qu’un seul mécanisme d’échange de clés pour chaque type de chiffrement. Microsoft a standardisé le type d’échange de clés D3DKEYEXCHANGE_RSAES_OAEP. Toutefois, les fournisseurs de matériel peuvent utiliser des mécanismes d’échange de clés propriétaires.

Par D3DKEYEXCHANGE_RSAES_OAEP, le membre pData de la structure D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE pointe vers une mémoire tampon qui contient la clé de session qu’une application a précédemment chiffrée avec la clé publique à partir du certificat de session de chiffrement du pilote. La taille réelle de la mémoire tampon est de 256 octets. Cet échange est identique au fonctionnement de l’échange de clés De sortie Protection Manager (OPM), sauf que la mémoire tampon OPM contient des données supplémentaires en plus de la clé de session. Le même certificat que celui utilisé pour l’échange de clés OPM peut être utilisé pour l’échange de clés D3DKEYEXCHANGE_RSAES_OAEP.

Configuration requise

Condition requise Valeur
Client minimal pris en charge CryptoSessionKeyExchange est pris en charge à partir du système d’exploitation Windows 7.
Plateforme cible Desktop (Expérience utilisateur)
En-tête d3dumddi.h (inclure D3dumddi.h)

Voir aussi

D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE