| Предыдущий | Следующий |
| DXGI_ERROR_NOT_FOUND | DXGI_ERROR_UNSUPPORTED |
DXGI_ERROR_MORE_DATA
Что означает DXGI_ERROR_MORE_DATA
DXGI_ERROR_MORE_DATA (0X887A0003) — Переданный вызывающей стороной буфер слишком мал.
Проверка размера буфера DXGI
Используйте двухшаговый size-query pattern конкретного DXGI API: сначала получите требуемый count/byte size, затем выделите связанный с ним буфер и повторите вызов. Не используйте cached size от другого объекта и не читайте частично заполненный output после HRESULT ошибки; отдельно защитите расчёты размера и alignment от переполнения.
- Получите требуемый count/size из API и проверьте единицы измерения перед повторным выделением массива.
- Сопоставьте формулировку «Переданный вызывающей стороной буфер слишком мал» с первым неуспешным методом и состоянием его объекта непосредственно перед вызовом.
Как исправить
Выделите буфер требуемого размера и повторите query; не обрезайте результат до старого cached count.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
