PFND3DDDI_AUTHENTICATEDCHANNELKEYEXCHANGE fonction de rappel (d3dumddi.h)
La fonction AuthenticatedChannelKeyExchange négocie la clé de session.
Syntaxe
PFND3DDDI_AUTHENTICATEDCHANNELKEYEXCHANGE Pfnd3dddiAuthenticatedchannelkeyexchange;
HRESULT Pfnd3dddiAuthenticatedchannelkeyexchange(
HANDLE hDevice,
D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE *unnamedParam2
)
{...}
Paramètres
hDevice
Handle de l’appareil d’affichage (contexte graphique).
unnamedParam2
pData [in, out]
Pointeur vers une structure D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE qui décrit une mémoire tampon qui contient la clé de session, que le canal authentifié utilise.
Valeur de retour
AuthenticatedChannelKeyExchange retourne l’une des valeurs suivantes :
code de retour | Description |
---|---|
S_OK | La clé de session est correctement négociée. |
E_OUTOFMEMORY | AuthenticatedChannelKeyExchange n’a pas pu allouer la mémoire requise pour qu’elle soit terminée. |
Remarques
Le membre pData dans la structure D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE pointe vers une mémoire tampon qui contient une clé secrète qu’une application a précédemment chiffrée RSAES-OAEP avec la clé publique à partir du certificat de canal authentifié du pilote. La taille réelle de la mémoire tampon est de 256 octets. Cet échange est identique à la façon dont fonctionne l’échange de clés Output 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 utilisé pour l’échange de clés OPM peut être utilisé pour le canal authentifié.
Le pilote déchiffre cette clé secrète et utilise la clé secrète dans les appels aux ConfigureAuthenticatedChannel du pilote et fonctions QueryAuthenticatedChannel pour calculer les codes d’authentification de message en mode SRC (Cipher Block Chaining) à clé unique.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | AuthenticatedChannelKeyExchange est pris en charge à partir du système d’exploitation Windows 7. |
plateforme cible | Bureau |
d’en-tête | d3dumddi.h (include D3dumddi.h) |