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 wurde erfolgreich ausgetauscht. |
E_OUTOFMEMORY | CryptoSessionKeyExchange konnte nicht den erforderlichen Arbeitsspeicher zuordnen, um ihn abzuschließen. |
Hinweise
Der Treiber sollte nur einen einzelnen Schlüsselaustauschmechanismus für jeden Verschlüsselungstyp unterstützen. Microsoft hat den Schlüsselaustauschtyp D3DKEYEXCHANGE_RSAES_OAEP standardisiert. Hardwarehersteller können jedoch proprietäre Schlüsselaustauschmechanismen verwenden.
Für D3DKEYEXCHANGE_RSAES_OAEP zeigt das pData-Element der D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE-Struktur auf einen Puffer, der den Sitzungsschlüssel enthält, den eine Anwendung zuvor mit dem öffentlichen Schlüssel aus dem Kryptositzungszertifikat des Treibers verschlüsselt hat. Die tatsächliche Größe des Puffers beträgt 256 Bytes. Dieser Austausch ist identisch mit der Funktionsweise des OPM-Schlüsselaustauschs ( Output Protection Manager ), mit dem Unterschied, dass der OPM-Puffer neben dem Sitzungsschlüssel zusätzliche Daten enthält. 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 |
---|---|
Unterstützte Mindestversion (Client) | CryptoSessionKeyExchange wird ab dem Windows 7-Betriebssystem unterstützt. |
Zielplattform | Desktop |
Kopfzeile | d3dumddi.h (include D3dumddi.h) |