Поделиться через


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::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:

  • Макрос SUCCESSED возвращает значение 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