D3DERR
Ниже приведен список значений, которые могут быть возвращены методами Direct3D. Список значений, которые может возвращать каждый из них, см. в описаниях отдельных методов.
Константа | Описание |
---|---|
|
Это код успешного выполнения. Однако автоматическое создание MIP-карт не поддерживается для этого формата. Это означает, что создание ресурса будет выполнено успешно, но уровни MIP-карты не будут созданы автоматически. |
|
Заданные в данный момент состояния отрисовки не могут использоваться вместе. |
|
Текущие фильтры текстур нельзя использовать вместе. |
|
Текущие текстуры нельзя использовать одновременно. |
|
Устройство, которое вернуло этот код, привело к сбросу аппаратного адаптера операционной системой. Большинство приложений должны уничтожить устройство и завершить работу. Приложения, которые должны продолжать работу, должны уничтожить все объекты видеопамяти (поверхности, текстуры, блоки состояний и т. д.) и вызвать Reset(), чтобы поместить устройство в состояние по умолчанию. Если приложение продолжит отрисовку таким же образом, устройство вернется в это состояние. Применяется только к Direct3D 9Ex. |
|
Устройство потеряно, но в настоящее время его невозможно сбросить. Поэтому отрисовка невозможна. Объект устройства Direct3D, отличный от объекта, возвращающего этот код, привел к сбросу аппаратного адаптера операционной системой. Удалите все объекты видеопамяти (поверхности, текстуры, блоки состояний) и вызовите Reset(), чтобы вернуть устройство в состояние по умолчанию. Если приложение продолжает отрисовку без сброса, вызовы отрисовки будут выполнены успешно. |
|
Устройство было потеряно, но в настоящее время его можно сбросить. |
|
Аппаратный адаптер удален. Приложение должно уничтожить устройство, выполнить перечисление адаптеров и создать другое устройство Direct3D. Если приложение продолжит отрисовку без вызова Reset, вызовы отрисовки будут выполнены успешно. Применяется только к Direct3D 9Ex. |
|
Внутренняя ошибка драйвера. Приложения должны уничтожить и повторно создать устройство при получении этой ошибки. Указания по отладке этой ошибки см. в разделе Внутренние ошибки драйвера (Direct3D 9). |
|
Не используется. |
|
Недопустимый вызов метода. Например, параметр метода может быть недопустимым указателем. |
|
Запрошенный тип устройства недопустим. |
|
Доступно больше данных, чем может содержать указанный размер буфера. |
|
Это устройство не поддерживает запрашиваемую методику. |
|
Запрашиваемый элемент не найден. |
|
Без ошибок. |
|
У Direct3D недостаточно памяти для выполнения операции. Устройство использует больше ресурсов в одной сцене, чем может одновременно поместиться в видеопамяти.
Функция Present, PresentEx или CheckDeviceState может возвращать эту ошибку. Восстановление аналогично D3DERR_DEVICEHUNG, хотя приложению может потребоваться сократить использование памяти для каждого кадра, чтобы избежать повторения ошибки. |
|
Приложение запрашивает больше операций фильтрации текстур, чем поддерживает устройство. |
|
Устройство не поддерживает указанный аргумент наложения текстур для альфа-канала. |
|
Устройство не поддерживает указанную операцию наложения текстур для альфа-канала. |
|
Устройство не поддерживает указанный аргумент наложения текстур для значений цвета. |
|
Устройство не поддерживает указанную операцию наложения текстур для значений цвета. |
|
Устройство не поддерживает указанное значение коэффициента текстуры. Не используется; предоставляется только для поддержки старых драйверов. |
|
Устройство не поддерживает указанный фильтр текстур. |
|
Предыдущая операция blit, которая передает информацию на эту поверхность или с нее, является неполной. |
|
Недопустимый формат текстурной поверхности. |
|
В подсистеме Direct3D произошла неопределенная ошибка. |
|
В возвращающую функцию передан недопустимый параметр. |
|
Недопустимый вызов метода. Например, параметр метода может иметь недопустимое значение. |
|
Интерфейс объекта недоступен. |
|
Не реализован. |
|
Direct3D не удалось выделить достаточно памяти для завершения вызова. |
|
Без ошибок. |
|
По крайней мере одно выделение ресурсов находится на диске. Только Direct3D 9Ex. |
|
На диске нет выделений, составляющих ресурсы. Тем не менее, по крайней мере одно выделение не находится в доступной памяти GPU. Только Direct3D 9Ex. |
|
Режим отображения на рабочем столе изменен. Приложение может продолжить отрисовку, но может быть преобразование или растяжение цвета. Выберите формат обратного буфера, аналогичный текущему режиму отображения, и вызовите reset, чтобы повторно создать цепочки буферов. Устройство покинет это состояние после вызова сброса. Только Direct3D 9Ex. |
|
Область презентации заключается. Загораживание означает, что окно презентации свернуто или другое устройство перешло в полноэкранный режим на том же мониторе, что и окно презентации, а окно презентации полностью находится на этом мониторе. Загораживание не будет происходить, если клиентская область охватывается другим окном. Окклюзированные приложения могут продолжать отрисовку, и все вызовы будут выполнены успешно, но окно occluded презентации не будет обновлено. Желательно, чтобы приложение прекратило отрисовку в окне презентации с помощью устройства и продолжало вызывать CheckDeviceState до тех пор, пока не вернется S_OK или S_PRESENT_MODE_CHANGED. Только Direct3D 9Ex. |
|
Устройство не поддерживает наложение для указанного размера или режима отображения. Direct3D 9Ex только в Windows 7. |
|
Устройство не поддерживает наложение для указанного формата поверхности. Direct3D 9Ex только в Windows 7. |
|
Не удается защитить указанное содержимое. Direct3D 9Ex только в Windows 7. |
|
Указанный алгоритм шифрования не поддерживается. Direct3D 9Ex только в Windows 7. |
|
Текущая статистика не имеет упорядоченной последовательности. Direct3D 9Ex только в Windows 7. |
Ошибки представлены отрицательными значениями и не могут быть объединены.
Другие коды возврата содержатся в S_PRESENT.
Код средства _FACD3D используется для создания кодов ошибок, как показано в следующих макросах.
// Direct3D Errors
#define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_D3DHRESULT(2079)
#define D3DERR_WASSTILLDRAWING MAKE_D3DHRESULT(540)
#define _FACD3D 0x876 // Direct3D facility code
#define MAKE_D3DHRESULT( code ) MAKE_HRESULT( 1, _FACD3D, code )
#define MAKE_D3DSTATUS( code ) MAKE_HRESULT( 0, _FACD3D, code )
Требование | Значение |
---|---|
Заголовок |
|