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 pour le périphérique d’affichage (contexte graphique).
unnamedParam2
pData [in, out]
Pointeur vers une structure D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE qui décrit une mémoire tampon contenant la clé de session, que le canal authentifié utilise.
Valeur retournée
AuthenticatedChannelKeyExchange retourne l’une des valeurs suivantes :
Code de retour | Description |
---|---|
S_OK | La clé de session est négociée avec succès. |
E_OUTOFMEMORY | AuthenticatedChannelKeyExchange n’a pas pu allouer la mémoire nécessaire pour qu’elle se termine. |
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 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 au fonctionnement de l’échange de clés de 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 que celui 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 fonctions ConfigureAuthenticatedChannel et QueryAuthenticatedChannel du pilote pour calculer les codes d’authentification de message (OMAC) en mode One-Key Cipher Block Chaining (CBC).
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | AuthenticatedChannelKeyExchange 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) |