PFND3DDDI_AUTHENTICATEDCHANNELKEYEXCHANGE funzione di callback (d3dumddi.h)

La funzione AuthenticatedChannelKeyExchange negozia la chiave di sessione.

Sintassi

PFND3DDDI_AUTHENTICATEDCHANNELKEYEXCHANGE Pfnd3dddiAuthenticatedchannelkeyexchange;

HRESULT Pfnd3dddiAuthenticatedchannelkeyexchange(
  HANDLE hDevice,
  D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE *unnamedParam2
)
{...}

Parametri

hDevice

Handle per il dispositivo di visualizzazione (contesto grafico).

unnamedParam2

pData [in, out]

Puntatore a una struttura D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE che descrive un buffer contenente la chiave di sessione utilizzata dal canale autenticato.

Valore restituito

AuthenticatedChannelKeyExchange restituisce uno dei valori seguenti:

codice restituito Descrizione
S_OK La chiave di sessione viene negoziata correttamente.
E_OUTOFMEMORY AuthenticatedChannelKeyExchange non è stato possibile allocare la memoria necessaria per il completamento.

Osservazioni

Il membro pData nella struttura D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE punta a un buffer contenente una chiave privata che un'applicazione precedentemente crittografata RSAES-OAEP con la chiave pubblica dal certificato del canale autenticato del driver. Le dimensioni effettive del buffer sono di 256 byte. Questo scambio è identico al funzionamento dello scambio di chiavi (OPM) di Output Protection Manager, ad eccezione del buffer OPM che contiene dati aggiuntivi oltre alla chiave di sessione. Lo stesso certificato usato per lo scambio di chiavi OPM può essere usato per il canale autenticato.

Il driver decrittografa questa chiave privata e usa la chiave privata nelle chiamate al driver ConfigureAuthenticatedChannel e QueryAuthenticatedChannel funzioni per calcolare i codici di autenticazione dei messaggi in modalità CBC (Cipher Block Chaining) a chiave singola.

Fabbisogno

Requisito Valore
client minimo supportato AuthenticatedChannelKeyExchange è supportato a partire dal sistema operativo Windows 7.
piattaforma di destinazione Desktop
intestazione d3dumddi.h (include D3dumddi.h)

Vedere anche

D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE