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 transmis au pilote dans l’appel à la fonction CreateCryptoSession.

hSrcResource

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

hDstResource

Pointeur vers la ressource où 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 Remarques.

note   

Si pIV est NULL, l’adaptateur 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

Aucun

Remarques

Cette fonction présente les limitations suivantes :

  • La fonction ne peut pas lire les sous-requêtes ou les surfaces partiellement chiffrées.
  • La fonction ne peut pas lire les mémoires tampons partiellement chiffrées. De nombreuses solutions de chiffrement basées sur le matériel 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 créée à l’aide de l’alignement approprié, comme décrit précédemment.
  • La surface protégée ne peut pas être multisamplée.
  • La fonction ne prend pas en charge la conversion d’espace de couleur ou d’étirement.
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 rempli par le pilote ou la carte graphique. Lorsque le premier IV est généré, le pilote ou l’adaptateur initialise le IV membre de cette structure à un nombre aléatoire. Pour chaque iv ultérieure, l’appelant incrémente le membre IV, ce qui garantit 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.

Remarque Cette fonction ne respecte pas un prédicat Direct3D version 11 qui a peut-être été défini.
 

Exigences

Exigence Valeur
client minimum pris en charge Windows 8
serveur minimum pris en charge Windows Server 2012
plateforme cible Bureau
d’en-tête d3d10umddi.h (include D3d10umddi.h)

Voir aussi

CreateCryptoSession

D3D11_1DDI_AES_CTR_IV