D3DCONTENTPROTECTIONCAPS 構造体 (d3d9caps.h)
ディスプレイ ドライバーのコンテンツ保護機能について説明します。 機能を取得するには、 IDirect3DDevice9Video::GetContentProtectionCaps を呼び出します。
構文
typedef struct _D3DCONTENTPROTECTIONCAPS {
DWORD Caps;
GUID KeyExchangeType;
UINT BufferAlignmentStart;
UINT BlockAlignmentSize;
ULONGLONG ProtectedMemorySize;
} D3DCONTENTPROTECTIONCAPS;
メンバー
Caps
0 個以上のフラグのビットごとの OR 。
値 | 意味 |
---|---|
|
暗号化は、ドライバーによってソフトウェアに実装されます。 |
|
暗号化は、GPU によってハードウェアに実装されます。 |
|
コンテンツ保護は、アプリケーションが明示的にコンテンツ保護を有効にするかどうかに関係なく、保護された Direct3D サーフェスに常に適用されます。 |
|
ドライバーは、部分的に暗号化されたバッファーを使用できます。 この機能が存在しない場合は、バッファー全体を暗号化するかクリアする必要があります。 |
|
ドライバーは、セッション キーを使用して暗号化された別のコンテンツ キーを使用してデータを暗号化できます。 詳細については、「 IDirect3DCryptoSession9::D ecryptionBlt」を参照してください。 |
|
ドライバーは、キーを再ネゴシエーションせずにセッション キーを更新できます。 セッション キーを更新するには、 IDirect3DCryptoSession9::StartSessionKeyRefresh を呼び出します。 |
|
ドライバーは、 IDirect3DCryptoSession9::EncryptionBlt メソッドを使用して、保護されたサーフェスから暗号化されたデータを読み取ることができます。 |
|
ドライバーには、保護されたサーフェスから暗号化されたデータを読み取るために別のキーが必要です。 この 2 番目のキーを取得するには、 IDirect3DCryptoSession9::GetEncryptionBltKey を呼び出します。 |
|
暗号化の種類が D3DCRYPTOTYPE_AES128_CTRされている場合、アプリケーションでは 、DXVA2_AES_CTR_IV 構造体でシーケンシャルカウントを使用する必要があります。 詳細については、 DXVA2_AES_CTR_IVに関する解説を参照してください。 |
KeyExchangeType
セッション キーのネゴシエートに必要なキー交換の種類を指定します。 次の GUID が定義されています。
値 | 意味 |
---|---|
|
デコーダーは、RSA 暗号化スキーム - 最適な非対称暗号化パディング (RSAES-OAEP) を使用してセッション キーを暗号化します。 |
|
DirectX ビデオ アクセラレーション 2 (DXVA-2) に定義されているキー交換メカニズムを使用します。 |
BufferAlignmentStart
GPU 暗号化エンジンで使用されるバッファーに必要なメモリアラインメント。 アプリケーションでシステム メモリ バッファーを使用して暗号化されたコンテンツを GPU に渡す場合、または GPU から暗号化されたコンテンツを読み取り戻す場合、バッファーの開始アドレスはこの値の倍数である必要があります。
BlockAlignmentSize
GPU 暗号化エンジンに必要なブロックアラインメント。 暗号化するデータのサイズは、この値の倍数である必要があります。
ProtectedMemorySize
保護されたサーフェスを保持するために使用できるメモリの合計量。
要件
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
Header | d3d9caps.h (D3d9.h を含む) |