PFND3DWDDM2_0DDI_SETHARDWAREPROTECTION Rückruffunktion (d3d10umddi.h)

SetHardwareProtection ermöglicht es dem Desktopfenster-Manager (DWM) vollbildbasierten Swapchainpuffern, zwischen geschützten und nicht geschützten Zuständen zu übertragen, ohne neu erstellt werden zu müssen.

Syntax

PFND3DWDDM2_0DDI_SETHARDWAREPROTECTION Pfnd3dwddm20DdiSethardwareprotection;

void Pfnd3dwddm20DdiSethardwareprotection(
  D3D10DDI_HDEVICE hDevice,
  D3D10DDI_HRESOURCE hResource,
  BOOL Protected
)
{...}

Parameter

hDevice

Ein Handle für das Anzeigegerät (Grafikkontext). Die Direct3D-Runtime hat den Benutzermodustreiber dieses Handle als hDevice-Member der D3DDDIARG_CREATEDEVICE-Struktur bei der Geräteerstellung übergeben.

hResource

Ein Handle für das Ressourcenobjekt, das durch einen Aufruf von CreateResourceDDI erstellt wurde.

Protected

Gibt an, dass der Puffer geschützt werden soll.

Rückgabewert

Keine

Bemerkungen

Das Zerstören und erneute Erstellen der DWM-Swapchainpuffer ist ein schwerer Vorgang, der auf einiger Hardware vermieden werden kann. Dieser DDI wird nur aufgerufen, wenn der Treiber die D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_TRANSITION-Funktion meldet. Wenn dies nicht festgelegt ist, werden die zugrunde liegenden DWM-Swapchainzuordnungen zerstört und neu erstellt.

SetHardwareProtection wird für die nicht sichtbaren Swapchainpuffer aufgerufen, sodass es zwischen geschützten und ungeschützten Modi wechseln kann, ohne ein visuelles Artefakt zu verursachen. Wenn der DWM in den neu geänderten Puffer wechselt, ruft der DWM SetHardwareProtection für den nächsten Puffer im Swapchainpuffer auf und so weiter, bis der neue Schutzstatus für jeden swapchainpuffer festgelegt wurde.

Hinweis Der DWM wird garantiert, dass der gesamte Swapchainpuffer neu gerendert wird, nachdem sich der Hardwareschutzzustand geändert hat.
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10
Unterstützte Mindestversion (Server) Windows Server 2016
Zielplattform Desktop
Kopfzeile d3d10umddi.h (include D3d10umddi.h)

Weitere Informationen

CreateResource

D3DDDIARG_CREATEDEVICE