PFND3D11_1DDI_FLUSH回调函数 (d3d10umddi.h)

将硬件命令缓冲区中的未完成硬件命令提交到显示微型端口驱动程序。 由 Windows 显示驱动程序模型 (WDDM) 1.2 和更高版本的用户模式显示驱动程序实现。

语法

PFND3D11_1DDI_FLUSH Pfnd3d111DdiFlush;

BOOL Pfnd3d111DdiFlush(
  D3D10DDI_HDEVICE unnamedParam1,
  UINT FlushFlags
)
{...}

参数

unnamedParam1

hDevice [in]

显示设备的句柄(图形上下文)。

FlushFlags

D3D11_1_DDI_FLUSH_FLAGS 枚举中的一个值,该值指示驱动程序是否应在没有新命令的情况下继续提交命令缓冲区。

返回值

如果成功刷新硬件命令,则返回 TRUE。 否则返回 FALSE

言论

Flush(D3D11_1) 函数完成后,以前发出的所有命令不再依赖于应用程序的用户模式上下文中发生的作。 此外,应用程序可以安全地暂停自身,而不会阻止呈现,直到内核重新启动它们(例如,使用异步查询时)。

驱动程序不应遇到任何错误,除非D3DDDIERR_DEVICEREMOVED。 因此,如果驱动程序通过除D3DDDIERR_DEVICEREMOVED以外的任何错误,在调用 pfnSetErrorCb 函数时,Direct3D 运行时将确定错误至关重要。 即使设备已删除,驱动程序也不需要返回D3DDDIERR_DEVICEREMOVED;但是,如果设备删除干扰了 Flush(D3D11_1)(通常不应发生),驱动程序可以返回D3DDDIERR_DEVICEREMOVED。

要求

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

另请参阅

D3D10_1DDI_DEVICEFUNCS

D3D11_1_DDI_FLUSH_FLAGS

pfnSetErrorCb