PFND3DDDI_AUTHENTICATEDCHANNELKEYEXCHANGE Rückruffunktion (d3dumddi.h)
Die AuthenticatedChannelKeyExchange-Funktion handelt den Sitzungsschlüssel aus.
Syntax
PFND3DDDI_AUTHENTICATEDCHANNELKEYEXCHANGE Pfnd3dddiAuthenticatedchannelkeyexchange;
HRESULT Pfnd3dddiAuthenticatedchannelkeyexchange(
HANDLE hDevice,
D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE *unnamedParam2
)
{...}
Parameter
hDevice
Ein Handle für das Anzeigegerät (Grafikkontext).
unnamedParam2
pData [in, out]
Ein Zeiger auf eine D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE Struktur, die einen Puffer beschreibt, der den Sitzungsschlüssel enthält, den der authentifizierte Kanal verwendet.
Rückgabewert
AuthenticatedChannelKeyExchange gibt einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
S_OK | Der Sitzungsschlüssel wurde erfolgreich ausgehandelt. |
E_OUTOFMEMORY | AuthenticatedChannelKeyExchange konnte nicht den erforderlichen Arbeitsspeicher zuordnen, um ihn abzuschließen. |
Hinweise
Das pData-Element in der D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE-Struktur verweist auf einen Puffer, der einen geheimen Schlüssel enthält, den eine Anwendung zuvor rsaES-OAEP mit dem öffentlichen Schlüssel aus dem authentifizierten Kanalzertifikat 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 authentifizierten Kanal verwendet werden.
Der Treiber entschlüsselt diesen geheimen Schlüssel und verwendet den geheimen Schlüssel in Aufrufen der Funktionen ConfigureAuthenticatedChannel und QueryAuthenticatedChannel des Treibers, um OMACs (Cipher Block Chaining) zu berechnen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | AuthenticatedChannelKeyExchange wird ab dem Betriebssystem Windows 7 unterstützt. |
Zielplattform | Desktop |
Kopfzeile | d3dumddi.h (include D3dumddi.h) |