DXGKDDI_PRESENTDISPLAYONLY回调函数 (d3dkmddi.h)

向内核模式仅显示驱动程序(KMDOD)的显示设备显示屏幕图像。

语法

DXGKDDI_PRESENTDISPLAYONLY DxgkddiPresentdisplayonly;

NTSTATUS DxgkddiPresentdisplayonly(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_PDXGKARG_PRESENT_DISPLAYONLY pPresentDisplayOnly
)
{...}

参数

hAdapter

显示适配器的设备上下文的句柄。 KMDOD 的 DxgkDdiAddDevice 函数以前在 MiniportDeviceContext 参数中返回此句柄。

pPresentDisplayOnly

指向包含当前作信息的 DXGKARG_PRESENT_DISPLAYONLY 结构的指针。

返回值

返回以下值之一:

返回代码 说明
STATUS_SUCCESS 当前作已成功完成。
STATUS_PENDING 当前作已发送到软件或硬件队列以完成。
在这种情况下,KMDOD 应使用中断和延迟过程调用(DPC)来报告当前当前作的进度。 否则,作系统使用 超时检测和恢复(TDR) 进程,该过程报告错误,并要求 KMDOD 重新初始化自身并重置 GPU。
请注意,不应为同步模式返回此状态代码,如“备注”中所述。

 

驱动程序还可以返回 Ntstatus.h 中定义的任何其他错误状态代码,以指示当前作发生的问题。

言论

KMDOD 必须在复制脏矩形之前完成所有屏幕到屏幕移动。 此外,KMDOD 必须在开始另一个移动/复制作之前完成每个移动/复制作。

作系统支持两种 KMDOD 演示作模式:同步和异步。 根据硬件和驱动程序实现,KMDOD 可以随时使用模式或切换它们。

作系统保证此函数遵循 线程和同步零级别中定义的零级同步模式。

要求

要求 价值
最低支持的客户端 Windows 8
支持的最低服务器 Windows Server 2012
目标平台 桌面
标头 d3dkmddi.h
IRQL PASSIVE_LEVEL

另请参阅

DXGKARGCB_NOTIFY_INTERRUPT_DATA

DXGKARG_PRESENT_DISPLAYONLY

DxgkCbNotifyDpc

DxgkCbNotifyInterrupt

DxgkCbPresentDisplayOnlyProgress

DxgkCbQueueDpc

DxgkDdiAddDevice