PFND3DWDDM2_0DDI_SETHARDWAREPROTECTION fonction de rappel (d3d10umddi.h)
SetHardwareProtection permet aux mémoires tampons de la chaîne d’échange plein écran de Desktop Window Manager (DWM) de transférer entre les états protégés et non protégés sans avoir à être recréées.
Syntaxe
PFND3DWDDM2_0DDI_SETHARDWAREPROTECTION Pfnd3dwddm20DdiSethardwareprotection;
void Pfnd3dwddm20DdiSethardwareprotection(
D3D10DDI_HDEVICE hDevice,
D3D10DDI_HRESOURCE hResource,
BOOL Protected
)
{...}
Paramètres
hDevice
Handle pour le périphérique d’affichage (contexte graphique). Le runtime Direct3D a passé ce handle au pilote en mode utilisateur en tant que membre hDevice de la structure D3DDDIARG_CREATEDEVICE lors de la création de l’appareil.
hResource
Handle de l’objet de ressource qui a été créé par le biais d’un appel à la DDI CreateResource.
Protected
Indique que la mémoire tampon doit être protégée.
Valeur de retour
None
Remarques
La destruction et la recréation des mémoires tampons de la chaîne d’échange DWM sont une opération lourde qui peut être évitée sur certains matériels. Cette DDI n’est appelée que si le pilote signale la fonctionnalité D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_TRANSITION . Si ce n’est pas défini, les allocations de chaîne d’échange DWM sous-jacentes sont détruites et recréées.
SetHardwareProtection est appelé sur les mémoires tampons de chaîne d’échange non visibles, ce qui lui permet de passer des modes protégés et non protégés sans provoquer d’artefact visuel. Lorsque le DWM bascule vers la mémoire tampon nouvellement modifiée, le DWM appelle SetHardwareProtection sur la mémoire tampon suivante dans la mémoire tampon de la chaîne d’échange, et ainsi de suite jusqu’à ce que le nouvel état de protection ait été défini sur chacune des mémoires tampons de la chaîne d’échange.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10 |
Serveur minimal pris en charge | Windows Server 2016 |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | d3d10umddi.h (incluez D3d10umddi.h) |