D3DKMTOutputDuplPresent 函数 (d3dkmthk.h)
将桌面窗口管理器(DWM)桌面重复 API 交换链中的演示命令提交到 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) |
库 | Gdi32.lib |
DLL | Gdi32.dll |