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