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 で失敗します。
ドライバーは、後続のすべての暗号化セッション呼び出し (CryptoSessionKeyExchange など) でランタイムが渡すD3DDDIARG_CREATECRYPTOSESSIONの hCryptoSession メンバーの暗号化セッションのハンドルを返します。
ドライバーは、暗号化セッションの作成に使用されたディスプレイ デバイス (hDevice) を追跡する必要があります。 これらの呼び出しで指定されたディスプレイ デバイスが暗号化セッションの作成に使用されたディスプレイ デバイスと異なる場合、ドライバーは、この作成された暗号化セッションを使用する後続のすべての呼び出しを失敗させる必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 以降でサポートされています。 |
対象プラットフォーム | デスクトップ |
Header | d3dumddi.h (D3dumddi.h を含む) |