PFND3DWDDM2_0DDI_SETHARDWAREPROTECTION回调函数 (d3d10umddi.h)

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

语法

PFND3DWDDM2_0DDI_SETHARDWAREPROTECTION Pfnd3dwddm20DdiSethardwareprotection;

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

参数

hDevice

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

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