次の方法で共有


PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE コールバック関数 (d3dumddi.h)

CryptoSessionKeyExchange 関数はセッション キーをネゴシエートします。

構文

PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE Pfnd3dddiCryptosessionkeyexchange;

HRESULT Pfnd3dddiCryptosessionkeyexchange(
  HANDLE hDevice,
  D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE *unnamedParam2
)
{...}

パラメーター

hDevice

ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。

unnamedParam2

pData [in, out]

暗号化に使用されるセッション キーを記述する D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE 構造体へのポインター。

戻り値

CryptoSessionKeyExchange は、次のいずれかの値を返します。

リターン コード 説明
S_OK セッション キーが正常に交換されました。
E_OUTOFMEMORY CryptoSessionKeyExchange は、完了するために必要なメモリを割り当てませんでした。

備考

ドライバーは、暗号化の種類ごとに 1 つのキー交換メカニズムのみをサポートする必要があります。 Microsoft では、キー交換の種類のD3DKEYEXCHANGE_RSAES_OAEPを標準化しました。 ただし、ハードウェア ベンダーは独自のキー交換メカニズムを使用できます。

D3DKEYEXCHANGE_RSAES_OAEPの場合、D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE 構造体の pData メンバーは、アプリケーションが以前に RSAES-OAEP で暗号化したセッション キーを含むバッファーを、ドライバーの暗号化セッション証明書の公開キーでポイントします。 バッファーの実際のサイズは 256 バイトです。 この交換は、Output Protection Manager (OPM) キー交換のしくみと同じですが、OPM バッファーにはセッション キー以外の追加データが含まれています。 OPM キー交換に使用されるのと同じ証明書を、D3DKEYEXCHANGE_RSAES_OAEPキー交換に使用できます。

必要条件

要件 価値
サポートされる最小クライアント CryptoSessionKeyExchange は、Windows 7 オペレーティング システム以降でサポートされています。
ターゲット プラットフォーム デスクトップ
ヘッダー d3dumddi.h (D3dumddi.h を含む)

関連項目

D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE