PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE Rückruffunktion (d3dumddi.h)
Die CryptoSessionKeyExchange-Funktion handelt einen Sitzungsschlüssel aus.
Syntax
PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE Pfnd3dddiCryptosessionkeyexchange;
HRESULT Pfnd3dddiCryptosessionkeyexchange(
HANDLE hDevice,
D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE *unnamedParam2
)
{...}
Parameter
hDevice
Ein Handle für das Anzeigegerät (Grafikkontext).
unnamedParam2
pData- [in, out]
Ein Zeiger auf eine D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE-Struktur, die einen Sitzungsschlüssel beschreibt, der für die Verschlüsselung verwendet wird.
Rückgabewert
CryptoSessionKeyExchange gibt einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
S_OK | Der Sitzungsschlüssel wird erfolgreich ausgetauscht. |
E_OUTOFMEMORY | CryptoSessionKeyExchange konnte den erforderlichen Arbeitsspeicher nicht zuordnen, damit er abgeschlossen werden kann. |
Bemerkungen
Der Treiber sollte nur einen einzelnen Schlüsselaustauschmechanismus für jeden Verschlüsselungstyp unterstützen. Microsoft hat den Schlüsselaustauschtyp D3DKEYEXCHANGE_RSAES_OAEP standardisiert. Hardwareanbieter können jedoch proprietäre Schlüsselaustauschmechanismen verwenden.
Für D3DKEYEXCHANGE_RSAES_OAEP verweist das pData- Mitglied der D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE-Struktur auf einen Puffer, der den Sitzungsschlüssel enthält, den eine Anwendung zuvor RSAES-OAEP-verschlüsselt mit dem öffentlichen Schlüssel aus dem Kryptositzungszertifikat des Treibers verschlüsselt hat. Die tatsächliche Größe des Puffers beträgt 256 Byte. Dieser Austausch ist identisch mit der Funktionsweise des Output Protection Manager (OPM)-Schlüsselaustausch, außer der OPM-Puffer enthält neben dem Sitzungsschlüssel zusätzliche Daten. Dasselbe Zertifikat, das für den OPM-Schlüsselaustausch verwendet wird, kann für den D3DKEYEXCHANGE_RSAES_OAEP Schlüsselaustausch verwendet werden.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | CryptoSessionKeyExchange wird ab dem Windows 7-Betriebssystem unterstützt. |
Zielplattform- | Desktop |
Header- | d3dumddi.h (include D3dumddi.h) |