PFND3D11_1DDI_DECRYPTIONBLT fungsi panggilan balik (d3d10umddi.h)

Menulis data terenkripsi ke permukaan yang dilindungi. Fungsi ini dipanggil hanya jika D3D11_1DDI_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT diatur dalam anggota Caps dari struktur D3D11_1DDI_VIDEO_CONTENT_PROTECTION_CAPS .

Sintaks

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
)
{...}

Parameter

hDevice

Handel ke perangkat tampilan (konteks grafis).

hCryptoSession

Handel ke data pribadi driver untuk sesi kriptografi. Handel ini dibuat oleh runtime Direct3D dan diteruskan ke driver dalam panggilan ke fungsi CreateCryptoSession .

hSrcResource

Handel ke sumber daya yang berisi data sumber.

hDstResource

Penunjuk ke sumber daya tempat data terenkripsi akan ditulis.

pEncryptedBlockInfo

Penunjuk ke struktur D3D11_1DDI_ENCRYPTED_BLOCK_INFO yang menjelaskan bagian buffer yang dienkripsi.

Catatan Jika seluruh buffer dienkripsi, pEncryptedBlockinfo harus diatur ke NULL.
 

ContentKeySize

Ukuran, dalam byte, dari kunci konten.

pContentKey

Pointer ke blok memori yang berisi kunci konten yang diperlukan untuk mendekripsi data transfer blok bit (bitblt).

Jika pContentKey tidak diatur ke NULL, data buffer dienkripsi dengan menggunakan kunci konten yang ditentukan. Data untuk kunci ini dienkripsi dengan menggunakan kunci sesi dengan algoritma AES-ECB.

Jika pContentKey adalah NULL, adaptor grafis tidak memerlukan kunci konten terpisah untuk mendekripsi data. Dalam hal ini, kunci sesi digunakan untuk mendekripsi data.

IVSize

Ukuran, dalam byte, dari vektor inisialisasi (IV).

pIV

Pointer ke blok memori yang berisi vektor inisialisasi yang diperlukan untuk mendekripsi data bitblt. Untuk informasi lebih lanjut, lihat bagian Keterangan.

Catatan  

Jika pIV adalah NULL, adaptor grafis tidak memerlukan vektor inisialisasi terpisah untuk mendekripsi data. Artinya, kunci sesi digunakan untuk mendekripsi data.

 

Menampilkan nilai

Tidak ada

Keterangan

Untuk enkripsi AES-CTR 128-bit, parameter pIV menunjuk ke struktur D3D11_1DDI_AES_CTR_IV yang dialokasikan oleh aplikasi. Namun, isi aktual dari struktur ini diisi oleh driver atau adaptor grafis. Ketika IV pertama dihasilkan, driver atau adaptor menginisialisasi anggota IV struktur ini ke angka acak. Untuk setiap IV berikutnya, penelepon menambah anggota IV , memastikan bahwa nilai selalu meningkat. Prosedur ini memungkinkan aplikasi untuk memvalidasi bahwa IV yang sama tidak pernah digunakan lebih dari sekali dengan pasangan kunci yang sama.

Untuk jenis enkripsi lainnya, struktur yang berbeda dapat digunakan, atau enkripsi mungkin tidak menggunakan IV.

Catatan Fungsi ini tidak menghormati predikat Direct3D versi 11 yang mungkin telah ditetapkan.
 

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8
Server minimum yang didukung Windows Server 2012
Target Platform Desktop
Header d3d10umddi.h (termasuk D3d10umddi.h)

Lihat juga

D3D11_1DDI_AES_CTR_IV

D3D11_1DDI_ENCRYPTED_BLOCK_INFO

D3D11_1DDI_VIDEO_CONTENT_PROTECTION_CAPS