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 暗号化の場合、 pIV は D3D11_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 |