Site icon EfmSoft

Что означает код HRESULT 0x887A0003 (DXGI_ERROR_MORE_DATA)?

 
Предыдущий Следующий
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.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.

Exit mobile version