D3DKMTOutputDuplPresent 函数 (d3dkmthk.h)
将桌面窗口管理器的 桌面重复 API 交换链 (DWM) 的 present 命令提交到 Microsoft DirectX 图形内核子系统 (Dxgkrnl.sys) 。
语法
NTSTATUS D3DKMTOutputDuplPresent(
[in] const D3DKMT_OUTPUTDUPLPRESENT *unnamedParam1
);
参数
[in] unnamedParam1
指向描述当前操作参数 的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) |
Library | Gdi32.lib |
DLL | Gdi32.dll |