Partager via


PFND3D11_1DDI_ENCRYPTIONBLT fonction de rappel (d3d10umddi.h)

Lit les données chiffrées à partir d’une surface protégée.

Syntaxe

PFND3D11_1DDI_ENCRYPTIONBLT Pfnd3d111DdiEncryptionblt;

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

Paramètres

hDevice

Handle de l’appareil d’affichage (contexte graphique).

hCryptoSession

Handle des données privées du pilote pour la session de chiffrement. Ce handle a été créé par le runtime Direct3D et passé au pilote dans l’appel à la fonction CreateCryptoSession .

hSrcResource

Handle de la ressource qui contient les données sources.

hDstResource

Pointeur vers la ressource dans laquelle les données chiffrées doivent être écrites.

IVSize

Taille, en octets, du vecteur d’initialisation (IV).

pIV

Pointeur vers un bloc de mémoire qui contient le vecteur d’initialisation requis pour chiffrer les données bitblt. Pour plus d'informations, consultez la section Notes.

Remarque  

Si pIV a la valeur NULL, la carte graphique ne nécessite pas de vecteur d’initialisation distinct pour chiffrer les données. Autrement dit, la clé de session est utilisée pour chiffrer les données.

 

Valeur de retour

None

Remarques

Cette fonction présente les limitations suivantes :

  • La fonction ne peut pas lire les sous-corrections ou les surfaces partiellement chiffrées.
  • La fonction ne peut pas lire les mémoires tampons partiellement chiffrées. De nombreuses solutions de chiffrement matérielles n’autorisent pas les lectures non chiffrées à partir de la mémoire protégée.
  • La surface protégée doit être une surface simple hors écran ou une cible de rendu.
  • La surface de destination doit être une surface de mémoire système qui a été créée à l’aide de l’alignement approprié, comme décrit précédemment.
  • La surface protégée ne peut pas être multi-échantillonnée.
  • La fonction ne prend pas en charge l’étirement ou la conversion d’espace de couleurs.
Pour le chiffrement AES-CTR 128 bits, le paramètre pIV pointe vers une structure D3D11_1DDI_AES_CTR_IV allouée par l’application. Toutefois, le contenu réel de cette structure est renseigné par le pilote ou la carte graphique. Lorsque le premier iv est généré, le pilote ou l’adaptateur initialise le membre IV de cette structure en un nombre aléatoire. Pour chaque IV suivant, l’appelant incrémente le membre IV , s’assurant que la valeur augmente toujours. Cette procédure permet à l’application de vérifier que le même IV n’est jamais utilisé plusieurs fois avec la même paire de clés.

Pour d’autres types de chiffrement, une structure différente peut être utilisée ou le chiffrement peut ne pas utiliser d’IV.

Note Cette fonction n’honore pas un prédicat Direct3D version 11 qui a peut-être été défini.
 

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Serveur minimal pris en charge Windows Server 2012
Plateforme cible Desktop (Expérience utilisateur)
En-tête d3d10umddi.h (include D3d10umddi.h)

Voir aussi

CreateCryptoSession

D3D11_1DDI_AES_CTR_IV