DXGI_ERROR

可由 DXGI 函数返回的错误代码。

常量/值 说明
DXGI_ERROR_ACCESS_DENIED
0x887A002B
您尝试使用没有所需访问权限的资源。 此错误通常是在写入具有只读访问权限的共享资源时导致的。
DXGI_ERROR_ACCESS_LOST
0x887A0026
桌面重复接口无效。 当桌面上显示不同类型的图像时,桌面重复界面通常会失效。
DXGI_ERROR_ALREADY_EXISTS
0x887A0036L
所需的元素已存在。 如果不是第一次调用函数,则 DXGIDeclareAdapterRemovalSupport 会返回此函数。
DXGI_ERROR_CANNOT_PROTECT_CONTENT
0x887A002A
DXGI 无法在交换链上提供内容保护。 此错误通常是由较旧的驱动程序引起的,或者当你使用与内容保护不兼容的交换链时。
DXGI_ERROR_DEVICE_HUNG
0x887A0006
由于应用程序发送的命令格式不正确,应用程序的设备出现故障。 这是一个设计时问题,应进行调查和修复。
DXGI_ERROR_DEVICE_REMOVED
0x887A0005
视频卡已实际从系统中删除,或者视频卡的驱动程序升级。 应用程序应销毁并重新创建设备。 有关调试问题的帮助,请调用 ID3D10Device::GetDeviceRemovedReason
DXGI_ERROR_DEVICE_RESET
0x887A0007
由于命令格式不正确,设备失败。 这是一个运行时问题;应用程序应销毁并重新创建设备。
DXGI_ERROR_DRIVER_INTERNAL_ERROR
0x887A0020
驱动程序遇到问题,并已进入设备删除状态。
DXGI_ERROR_FRAME_STATISTICS_DISJOINT
0x887A000B
例如,某个事件 (电源周期) 中断了演示文稿统计信息的收集。
DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE
0x887A000C
应用程序尝试获取输出的独占所有权,但失败,因为应用程序中的一些其他应用程序 (或设备) 已获取所有权。
DXGI_ERROR_INVALID_CALL
0x887A0001
应用程序提供的参数数据无效;在释放应用程序之前,必须调试并修复此问题。
DXGI_ERROR_MORE_DATA
0x887A0003
应用程序提供的缓冲区不够大,无法容纳请求的数据。
DXGI_ERROR_NAME_ALREADY_EXISTS
0x887A002C
在调用 IDXGIResource1::CreateSharedHandle 时提供的资源名称已与某些其他资源相关联。
DXGI_ERROR_NONEXCLUSIVE
0x887A0021
全局计数器资源正在使用中,Direct3D 设备当前无法使用计数器资源。
DXGI_ERROR_NOT_CURRENTLY_AVAILABLE
0x887A0022
资源或请求当前不可用,但以后可能会变得可用。
DXGI_ERROR_NOT_FOUND
0x887A0002
调用 IDXGIObject::GetPrivateData 时,不会将传入的 GUID 识别为以前传递给 IDXGIObject::SetPrivateDataIDXGIObject::SetPrivateDataInterface 的 GUID。 调用 IDXGIFactory::EnumAdaptersIDXGIAdapter::EnumOutputs 时,枚举的序号已超过范围。
DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED
0x887A0023
预留
DXGI_ERROR_REMOTE_OUTOFMEMORY
0x887A0024
预留
DXGI_ERROR_RESTRICT_TO_OUTPUT_STALE
0x887A0029
交换链内容受限 (监视器) 的 DXGI 输出现在已断开连接或更改。
DXGI_ERROR_SDK_COMPONENT_MISSING
0x887A002D
操作依赖于缺少或不匹配的 SDK 组件。
DXGI_ERROR_SESSION_DISCONNECTED
0x887A0028
远程桌面服务会话当前已断开连接。
DXGI_ERROR_UNSUPPORTED
0x887A0004
设备或驱动程序不支持请求的功能。
DXGI_ERROR_WAIT_TIMEOUT
0x887A0027
在下一个桌面帧可用之前经过的超时间隔。
DXGI_ERROR_WAS_STILL_DRAWING
0x887A000A
GPU 在调用执行操作时处于繁忙状态,并且未执行或计划操作。
S_OK
方法成功,但未出现错误。

备注

你可能只对方法成功还是失败感兴趣。 测试 HRESULT 值指示成功还是失败的最佳方法是将值传递给 WinError.h 中定义的以下宏之一:

  • 成功代码的 SUCCEEDED 宏返回 TRUE ,对于失败代码返回 FALSE
  • 对于失败代码, FAILED 宏返回 TRUE ,成功代码返回 FALSE

每个DXGI_ERROR值的 HRESULT 值取决于 DXGItype.h 中定义的此宏:

#define _FACDXGI    0x87a
#define MAKE_DXGI_HRESULT(code) MAKE_HRESULT(1, _FACDXGI, code)

例如, DXGI_ERROR_INVALID_CALL 定义为 0x887A0001

#define DXGI_ERROR_INVALID_CALL                 MAKE_DXGI_HRESULT(1)

要求

要求
标头
Winerror.h

另请参阅

DXGI 常量