Что означает код HRESULT 0x88990024 (D2DERR_INVALID_TARGET)?

 
Предыдущий Следующий
D2DERR_ORIGINAL_TARGET_NOT_BOUND D2DERR_BITMAP_BOUND_AS_TARGET

D2DERR_INVALID_TARGET

Как диагностировать D2DERR_INVALID_TARGET

D2DERR_INVALID_TARGET — HRESULT, относящийся к области Direct2D. Изображение нельзя назначить целью Direct2D: оно является эффектом либо не создано с разрешением использовать его как target bitmap.

В случае этот результат статус описывает контракт графического API, а не содержимое изображения само по себе. Ошибка часто возникает из-за времени жизни или происхождения ресурсов.

Что проверить в первую очередь

В случае этот результат формулировка указывает на недопустимые данные или состояние. Сохраните исходное представление до нормализации и проверяйте структуру на той границе, где её принимает API.

  • При разборе этот результат проверьте баланс BeginDraw/EndDraw, Push/Pop, активные layer/clip и текущую target bitmap.
  • При разборе он сверьте размеры текстур и поддерживаемые форматы с feature level и возможностями графического адаптера.
  • При разборе он пересоздайте device-dependent resources после потери устройства вместо повторного использования старых объектов.
  • При разборе он запишите метод Direct2D, параметры ресурса, factory и render target, которым принадлежат участвующие объекты.

Диагностический минимум

  • Проверяйте исправление как на аппаратном, так и на программном WARP-рендерере, если это допустимо.
  • Включите Direct2D debug layer и сохраните первое диагностическое сообщение перед HRESULT.
  • Создайте минимальную сцену с теми же ресурсами и последовательностью вызовов.

Проверка после изменения

В случае он считайте причину он устранённой только после проверки на тех же данных и под той же учётной записью, где возник сбой, а затем выполните контрольный тест с заведомо неверным входом.

Ссылки по этому результату


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