PFND3DWDDM2_0DDI_SETHARDWAREPROTECTION callback function (d3d10umddi.h)
SetHardwareProtection allows the Desktop Window Manager (DWM) full-screen swap chain buffers to transfer between protected and non-protected states without having to be recreated.
Syntax
PFND3DWDDM2_0DDI_SETHARDWAREPROTECTION Pfnd3dwddm20DdiSethardwareprotection;
void Pfnd3dwddm20DdiSethardwareprotection(
D3D10DDI_HDEVICE hDevice,
D3D10DDI_HRESOURCE hResource,
BOOL Protected
)
{...}
Parameters
hDevice
A handle to the display device (graphics context). The Direct3D runtime passed the user-mode driver this handle as the hDevice member of the D3DDDIARG_CREATEDEVICE structure at device creation.
hResource
A handle to the resource object that was created through a call to the CreateResourceDDI.
Protected
Indicates that the buffer should be protected.
Return value
None
Remarks
Destroying and re-creating the DWM swap chain buffers is a heavyweight operation that can be avoided on some hardware. This DDI will only be called if the driver reports the D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_TRANSITION capability. If this is not set, the underlying DWM swap chain allocations will be destroyed and recreated.
SetHardwareProtection is called on the non-visible swap chain buffers allowing it to transition between protected and unprotected modes without causing a visual artifact. When the DWM flips to the newly changed buffer, the DWM will call SetHardwareProtection on the next buffer in the swap chain buffer, and so on until the new protection state has been set on each of the swap chain buffers.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10 |
Minimum supported server | Windows Server 2016 |
Target Platform | Desktop |
Header | d3d10umddi.h (include D3d10umddi.h) |