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 не распознается как идентификатор GUID, переданный ранее в IDXGIObject::SetPrivateData или IDXGIObject::SetPrivateDataInterface. При вызове IDXGIFactory::EnumAdapters или IDXGIAdapter::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 для кода успешного выполнения.

Значение HRESULT для каждого значения DXGI_ERROR определяется из этого макроса, определенного в 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