次の方法で共有


ID3D11VideoContext::EncryptionBlt メソッド (d3d11.h)

保護されたサーフェスから暗号化されたデータを読み取ります。

構文

void EncryptionBlt(
  [in] ID3D11CryptoSession *pCryptoSession,
  [in] ID3D11Texture2D     *pSrcSurface,
  [in] ID3D11Texture2D     *pDstSurface,
  [in] UINT                IVSize,
  [in] void                *pIV
);

パラメーター

[in] pCryptoSession

暗号化セッションの ID3D11CryptoSession インターフェイスへのポインター。

[in] pSrcSurface

保護されたサーフェスの ID3D11Texture2D インターフェイスへのポインター。

[in] pDstSurface

暗号化されたデータを受信するサーフェスの ID3D11Texture2D インターフェイスへのポインター。

[in] IVSize

pIV バッファーのサイズ (バイト単位)。

[in] pIV

初期化ベクトル (IV) を受け取るバッファーへのポインター。 呼び出し元はこのバッファーを割り当てますが、ドライバーによって IV が生成されます。

128 ビット AES-CTR 暗号化の場合、 pIVD3D11_AES_CTR_IV 構造体を指します。 ドライバーは、最初の IV を生成すると、構造体を乱数に初期化します。 後続の IV ごとに、ドライバーは構造体の IV メンバーをインクリメントするだけで、値が常に増加することを確認します。 アプリケーションは、同じ IV が同じキー ペアで複数回使用されないように検証できます。

戻り値

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

すべてのドライバーがこのメソッドをサポートしているわけではありません。 ドライバー機能のクエリを実行するには、ID3D11VideoDevice::GetContentProtectionCaps を呼び出し、D3D11_VIDEO_CONTENT_PROTECTION_CAPS構造体の Caps メンバーのD3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK フラグをチェックします。

一部のドライバーでは、読み取り戻されるデータの暗号化を解除するために別のキーが必要になる場合があります。 この要件をチェックするには、GetContentProtectionCaps を呼び出し、D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY フラグのチェックします。 このフラグが存在する場合は、 ID3D11VideoContext::GetEncryptionBltKey を 呼び出して復号化キーを取得します。

このメソッドには、次の制限があります。

  • サブ四角形の読み取りはサポートされていません。
  • 部分的に暗号化されたサーフェスの読み取りはサポートされていません。
  • 保護されたサーフェスは、画面外のプレーン サーフェスまたはレンダー ターゲットである必要があります。
  • 変換先サーフェスは 、D3D11_USAGE_STAGING リソースである必要があります。
  • 保護されたサーフェスをマルチサンプリングすることはできません。
  • ストレッチ変換とカラースペース変換はサポートされていません。

この関数では、設定されている可能性がある D3D11 述語は使用されません。

アプリケーションで D3D11 クエリを使用する場合、11 未満の機能レベルを使用する場合、 この 関数は D3D11_QUERY_EVENT および D3D11_QUERY_TIMESTAMP で考慮されない可能性があります。 D3D11_QUERY_PIPELINE_STATISTICS には、どの機能レベルでもこの関数は含まれません。

要件

要件
サポートされている最小のクライアント Windows 8 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー d3d11.h

こちらもご覧ください

ID3D11VideoContext