次の方法で共有


PFND3D11_1DDI_DECRYPTIONBLT コールバック関数 (d3d10umddi.h)

暗号化されたデータを保護されたサーフェスに書き込みます。 この関数は、D3D11_1DDI_VIDEO_CONTENT_PROTECTION_CAPS 構造体の Caps メンバーに D3D11_1DDI_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT が設定されている場合にのみ呼び出されます。

構文

PFND3D11_1DDI_DECRYPTIONBLT Pfnd3d111DdiDecryptionblt;

void Pfnd3d111DdiDecryptionblt(
  D3D10DDI_HDEVICE hDevice,
  D3D11_1DDI_HCRYPTOSESSION hCryptoSession,
  D3D10DDI_HRESOURCE hSrcResource,
  D3D10DDI_HRESOURCE hDstResource,
  const D3D11_1DDI_ENCRYPTED_BLOCK_INFO *pEncryptedBlockInfo,
  UINT ContentKeySize,
  const VOID *pContentKey,
  UINT IVSize,
  const VOID *pIV
)
{...}

パラメーター

hDevice

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

hCryptoSession

暗号化セッションのドライバーのプライベート データへのハンドル。 このハンドルは Direct3D ランタイムによって作成され、CreateCryptoSession 関数の呼び出しでドライバーに渡されました。

hSrcResource

ソース データを含むリソースへのハンドル。

hDstResource

暗号化されたデータが書き込まれるリソースへのポインター。

pEncryptedBlockInfo

暗号化されるバッファーの部分を記述する D3D11_1DDI_ENCRYPTED_BLOCK_INFO 構造体へのポインター。

バッファー全体が暗号化されている場合は、pEncryptedBlockinfo NULL に設定する必要があります。
 

ContentKeySize

コンテンツ キーのサイズ (バイト単位)。

pContentKey

ビット ブロック転送 (bitblt) データの暗号化を解除するために必要なコンテンツ キーを含むメモリ ブロックへのポインター。

pContentKey が NULL に設定されていない場合、バッファー データは指定されたコンテンツ キーを使用して暗号化されます。 このキーのデータは、セッション キーと AES-ECB アルゴリズムを使用して暗号化されます。

pContentKey が NULL の場合、グラフィックス アダプターは、データの暗号化を解除するために別のコンテンツ キーを必要としません。 この場合、セッション キーを使用してデータの暗号化を解除します。

IVSize

初期化ベクトル (IV) のサイズ (バイト単位)。

pIV

bitblt データの暗号化を解除するために必要な初期化ベクターを含むメモリ ブロックへのポインター。 詳細については、「解説」セクションを参照してください。

ノート  

pIV が NULL の場合、グラフィックス アダプターは、データの暗号化を解除するために個別の初期化ベクトルを必要としません。 つまり、セッション キーはデータの暗号化を解除するために使用されます。

 

戻り値

何一つ

備考

128 ビット AES-CTR 暗号化の場合、pIV パラメーターは、アプリケーションによって割り当てられる D3D11_1DDI_AES_CTR_IV 構造を指します。 ただし、この構造体の実際の内容は、ドライバーまたはグラフィックス アダプターによって入力されます。 最初の IV が生成されると、ドライバーまたはアダプターは、この構造体の IV メンバーを乱数に初期化します。 後続の IV ごとに、呼び出し元は IV メンバーをインクリメントし、値が常に増加することを確認します。 この手順により、アプリケーションは、同じ IV が同じキー ペアで複数回使用されることはないことを検証できます。

他の暗号化の種類の場合は、別の構造が使用されるか、暗号化で IV が使用されない可能性があります。

この関数は、設定されている可能性がある Direct3D バージョン 11 述語を受け入れない点に注意してください。
 

必要条件

要件 価値
サポートされる最小クライアント Windows 8
サポートされる最小サーバー Windows Server 2012
ターゲット プラットフォーム デスクトップ
ヘッダー d3d10umddi.h (D3d10umddi.h を含む)

関連項目

D3D11_1DDI_AES_CTR_IV

D3D11_1DDI_ENCRYPTED_BLOCK_INFO

D3D11_1DDI_VIDEO_CONTENT_PROTECTION_CAPS