次の方法で共有


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

CreateCryptoSession 関数は、Direct3D ランタイムがセッション キーを管理し、保護されたメモリとの間で暗号化操作を実行するために使用する暗号化セッションを作成します。

構文

PFND3DDDI_CREATECRYPTOSESSION Pfnd3dddiCreatecryptosession;

HRESULT Pfnd3dddiCreatecryptosession(
  HANDLE hDevice,
  D3DDDIARG_CREATECRYPTOSESSION *unnamedParam2
)
{...}

パラメーター

hDevice

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

unnamedParam2

pData [in, out]

D3DDDIARG_CREATECRYPTOSESSION 構造体へのポインター。 入力時に、この構造体には、ドライバーが使用できる情報が含まれています。 出力時に、ドライバーは、Microsoft Direct3D ランタイムが使用できる構造体の情報を指定します。

戻り値

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

リターン コード 説明
S_OK 暗号化セッションが正常に作成されました。
E_OUTOFMEMORY CreateCryptoSession は、完了するために必要なメモリを割り当てませんでした。
D3DDDIERR_NOTAVAILABLE ドライバーは、D3DDDIARG_CREATECRYPTOSESSION 構造体の CryptoTypemember で指定された GUID、または CryptoTypemember でNULL_GUID (すべてのゼロ) が指定されている GUID をサポートしていません。
D3DDDIERR_UNSUPPORTEDCRYPTO ドライバーは、指定されたデコードの種類の暗号化の種類をサポートしていません。

備考

D3DDDIARG_CREATECRYPTOSESSION 構造体の DecodeProfile メンバーがNULL_GUIDされている場合、暗号化セッションは DirectX ビデオ アクセラレーション (DirectX VA) デコードには使用されません。 DecodeProfile が NULL GUID されていない場合、CryptoType メンバーの暗号化の種類がデコード プロファイルでサポートされていない場合、ドライバーはD3DDDIERR_UNSUPPORTEDCRYPTOで失敗する必要があります。

ドライバーは、ランタイムが後続のすべての暗号化セッション呼び出しで渡す D3DDDIARG_CREATECRYPTOSESSIONhCryptoSession メンバー内の暗号化セッションのハンドルを返します (たとえば、CryptoSessionKeyExchange )。

ドライバーは、暗号化セッションの作成に使用されたディスプレイ デバイス (hDevice) を追跡する必要があります。 ドライバーは、これらの呼び出しで指定されたディスプレイ デバイスが暗号化セッションの作成に使用されたディスプレイ デバイスと異なる場合は、この作成された暗号化セッションを使用する後続のすべての呼び出しに失敗する必要があります。

必要条件

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

関連項目

CryptoSessionKeyExchange

D3DDDIARG_CREATECRYPTOSESSION