PFND3DWDDM2_0DDI_SETHARDWAREPROTECTION回调函数 (d3d10umddi.h)

SetHardwareProtection 允许桌面窗口管理器(DWM)全屏交换链缓冲区在受保护和非受保护状态之间传输,而无需重新创建。

语法

PFND3DWDDM2_0DDI_SETHARDWAREPROTECTION Pfnd3dwddm20DdiSethardwareprotection;

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

参数

hDevice

显示设备的句柄(图形上下文)。 Direct3D 运行时在创建设备时将用户模式驱动程序作为 hDeviceD3DDDIARG_CREATEDEVICE 成员传递给用户模式驱动程序。

hResource

通过调用 CreateResourceDDI 创建的资源对象的句柄。

Protected

指示缓冲区应受到保护。

返回值

没有

言论

销毁和重新创建 DWM 交换链缓冲区是在一些硬件上可以避免的重量级作。 仅当驱动程序报告 D3DWDDM2_0DDI_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_TRANSITION 功能时,才会调用此 DDI。 如果未设置,基础 DWM 交换链分配将销毁并重新创建。

SetHardwareProtection 在不可见的交换链缓冲区上调用,这样它就可以在受保护模式和未受保护的模式之间转换,而不会造成视觉对象项目。 当 DWM 翻转到新更改的缓冲区时,DWM 将在交换链缓冲区的下一个缓冲区上调用 SetHardwareProtection,等等,直到在每个交换链缓冲区上设置新的保护状态。

注意 DWM 保证在硬件保护状态更改后重新呈现整个交换链缓冲区。
 

要求

要求 价值
最低支持的客户端 Windows 10
支持的最低服务器 Windows Server 2016
目标平台 桌面
标头 d3d10umddi.h (包括 D3d10umddi.h)

另请参阅

CreateResource

D3DDDIARG_CREATEDEVICE