PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE funzione di callback (d3dumddi.h)
La funzione CryptoSessionKeyExchange negozia una chiave di sessione.
Sintassi
PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE Pfnd3dddiCryptosessionkeyexchange;
HRESULT Pfnd3dddiCryptosessionkeyexchange(
HANDLE hDevice,
D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE *unnamedParam2
)
{...}
Parametri
hDevice
Handle per il dispositivo di visualizzazione (contesto grafico).
unnamedParam2
pData [in, out]
Puntatore a una struttura D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE che descrive una chiave di sessione usata per la crittografia.
Valore restituito
CryptoSessionKeyExchange restituisce uno dei valori seguenti:
codice restituito | Descrizione |
---|---|
S_OK | La chiave di sessione viene scambiata correttamente. |
E_OUTOFMEMORY | CryptoSessionKeyExchange non è riuscito ad allocare la memoria necessaria per il completamento. |
Osservazioni
Il driver deve supportare solo un singolo meccanismo di scambio di chiavi per ogni tipo di crittografia. Microsoft ha standardizzato il tipo di scambio di chiavi D3DKEYEXCHANGE_RSAES_OAEP. Tuttavia, i fornitori di hardware possono usare meccanismi di scambio di chiavi proprietari.
Per D3DKEYEXCHANGE_RSAES_OAEP, il membro pData della struttura D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE punta a un buffer contenente la chiave di sessione precedentemente crittografata da un'applicazione RSAES-OAEP con la chiave pubblica del certificato della sessione di crittografia 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 lo scambio di chiavi D3DKEYEXCHANGE_RSAES_OAEP.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | CryptoSessionKeyExchange è supportato a partire dal sistema operativo Windows 7. |
piattaforma di destinazione | Desktop |
intestazione | d3dumddi.h (include D3dumddi.h) |