DXGI_ERROR

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

常量/值 DESCRIPTION
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 常量