Share via


PFND3D11_1DDI_ENCRYPTIONBLT funzione di callback (d3d10umddi.h)

Legge i dati crittografati da una superficie protetta.

Sintassi

PFND3D11_1DDI_ENCRYPTIONBLT Pfnd3d111DdiEncryptionblt;

void Pfnd3d111DdiEncryptionblt(
  D3D10DDI_HDEVICE hDevice,
  D3D11_1DDI_HCRYPTOSESSION hCryptoSession,
  D3D10DDI_HRESOURCE hSrcResource,
  D3D10DDI_HRESOURCE hDstResource,
  UINT IVSize,
  const VOID *pIV
)
{...}

Parametri

hDevice

Handle per il dispositivo di visualizzazione (contesto grafico).

hCryptoSession

Handle per i dati privati del driver per la sessione crittografica. Questo handle è stato creato dal runtime Direct3D e passato al driver nella chiamata alla funzione CreateCryptoSession .

hSrcResource

Handle alla risorsa contenente i dati di origine.

hDstResource

Puntatore alla risorsa in cui devono essere scritti i dati crittografati.

IVSize

Dimensioni, in byte, del vettore di inizializzazione (IV).

pIV

Puntatore a un blocco di memoria contenente il vettore di inizializzazione necessario per crittografare i dati bitblt. Per altre informazioni, vedere la sezione Osservazioni.

Nota  

Se pIV è NULL, la scheda grafica non richiede un vettore di inizializzazione separato per crittografare i dati. Vale a dire, la chiave di sessione viene usata per crittografare i dati.

 

Valore restituito

nessuno

Osservazioni

Questa funzione presenta le limitazioni seguenti:

  • La funzione non può leggere sottorestri o superfici parzialmente crittografate.
  • La funzione non può leggere i buffer parzialmente crittografati. Molte soluzioni di crittografia basate su hardware non consentono letture non crittografate dalla memoria protetta.
  • La superficie protetta deve essere una superficie normale fuori schermo o una destinazione di rendering.
  • La superficie di destinazione deve essere una superficie di memoria di sistema creata usando l'allineamento appropriato, come descritto in precedenza.
  • La superficie protetta non può essere multicampionata.
  • La funzione non supporta l'estensione o la conversione dello spazio dei colori.
Per la crittografia AES-CTR a 128 bit, il parametro pIV punta a una struttura D3D11_1DDI_AES_CTR_IV allocata dall'applicazione. Tuttavia, il contenuto effettivo di questa struttura viene compilato dal driver o dalla scheda grafica. Quando viene generato il primo IV, il driver o l'adattatore inizializza il membro IV di questa struttura in un numero casuale. Per ogni IV successivo, il chiamante incrementa il membro IV , garantendo che il valore aumenti sempre. Questa procedura consente all'applicazione di verificare che lo stesso IV non venga mai usato più di una volta con la stessa coppia di chiavi.

Per altri tipi di crittografia, potrebbe essere usata una struttura diversa oppure la crittografia potrebbe non usare un iv.

Nota Questa funzione non rispetta un predicato Direct3D versione 11 che potrebbe essere stato impostato.
 

Requisiti

Requisito Valore
Client minimo supportato Windows 8
Server minimo supportato Windows Server 2012
Piattaforma di destinazione Desktop
Intestazione d3d10umddi.h (include D3d10umddi.h)

Vedi anche

CreateCryptoSession

D3D11_1DDI_AES_CTR_IV