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