PFND3DKMT_OUTPUTDUPLPRESENT回调函数 (d3dkmthk.h)

将桌面窗口管理器的 桌面重复 API 交换链 (DWM) 的 present 命令提交到 Microsoft DirectX 图形内核子系统 (Dxgkrnl.sys) 。

语法

PFND3DKMT_OUTPUTDUPLPRESENT Pfnd3dkmtOutputduplpresent;

NTSTATUS Pfnd3dkmtOutputduplpresent(
  [in] const D3DKMT_OUTPUTDUPLPRESENT *unnamedParam1
)
{...}

参数

[in] unnamedParam1

pData

指向描述当前操作参数 的D3DKMT_OUTPUTDUPLPRESENT 结构的指针。

返回值

返回以下值之一:

返回代码 说明
STATUS_SUCCESS 已成功执行当前操作。
STATUS_DEVICE_REMOVED 图形适配器已停止或显示上下文已重置。
STATUS_INVALID_PARAMETER 参数已验证并确定为不正确。
STATUS_NO_MEMORY D3DKMTOutputDuplPresent 由于内存不足而无法完成。
STATUS_GRAPHICS_ALLOCATION_INVALID 主图柄因显示模式更改而失效。 如果 OpenGL 可安装客户端驱动程序 (ICD) 收到此错误代码,则应重新打开或重新创建主句柄,将命令缓冲区中对旧句柄的所有引用替换为新句柄,然后重新提交缓冲区。
STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE D3DKMT_OUTPUTDUPLPRESENT 的 hContext 成员指定的呈现设备上下文上出错。
注意: 此错误代码并不指示启动超时检测和恢复 (TDR) 进程或 GPU 停止响应。
例如,如果显示微型端口驱动程序指示从此设备提交的 DMA 缓冲区导致故障,或者视频内存管理器即使在拆分 DMA 缓冲区之后也无法分页输入 DMA 缓冲区所需的所有分配,DirectX 图形内核子系统会将设备置于错误状态。 设备处于错误状态后,无法再执行任何操作,必须销毁并重新创建。 ICD 可以调用 D3DKMTGetDeviceState 函数来确定错误更精确的原因。

要求

要求
最低受支持的客户端 Windows 8
最低受支持的服务器 Windows Server 2012
目标平台 通用
标头 d3dkmthk.h (包括 D3dkmthk.h)

另请参阅

D3DKMTGetDeviceState

D3DKMT_OUTPUTDUPLPRESENT